Unity2019使用Android Studio 4出安卓包
前言
在我所经历的项目组中有这几种方法来生成APK
直接在Unity生成APK,可以接入SDK
使用Unity导出Android Studio工程手动生成APK
使用Unity导出Android Studio工程命令行离线生成APK
这里记录一下我在项目组使用Android Studio出包的笔记。
使用Unity导出Android Studio工程前建议查看我之前的文章《Unity2019及Unity2020打包android的环境配置》,主要介绍替换或修改Unity安装目录下的baseProjectTemplate.gradle,把链接指向国内能加快速度。
说明:我把Android Studio简称为AS,AS生成APK使用gradle来构建。
准备知识:
- 通过Unity导出的Android Studio和Google安卓原生工程的结构图对比
- 不同版本的Unity要求的NDK版本和两者对应关系表(Unity NDK Version Match)
- Unity2019使用Gradle命令行(编译)出安卓包
说明:在AS生成apk,as会根据配置帮你下载gradle和其它依赖文件,如果你不使用命令行,则不需要手动下载和配置gradle到环境变量中。
我打包使用的软件环境:
- Unity版本:2019.3.7f1
- Android Studio 4.1.3
- Jdk:1.8.0_181
- ndk:https://dl.google.com/android/repository/android-ndk-r19-windows-x86_64.zip
- win10 企业版 ltsc 1809
Unity导出Android Studio工程
使用Unity导出Android Studio工程,需要的环境:JDK,Android SDK,NDK(IL2CPP必须要NDK,但是导出Mono的包则不需要NDK)
NDK官网下载:https://developer.android.google.cn/ndk/downloads/
不同版本的Unity需要的ndk版本也不相同,比如2018.4需要ndk-r16b,而2019.3则需要ndk-r19,注意大小版本号要完全一致。
关于Unity不同版本要求的NDK版本,可以见这篇文章《不同版本的Unity要求的NDK版本和两者对应关系表(Unity NDK Version Match)》

Unity所需要的gradle版本关系
在unity安装目录下的 baseProjectTemplate.gradle 中可以修改android gradle plugin version
| Unity version | Gradle version |
|---|---|
| 2020.1 | 5.6.4 |
| 2018.4 starting from 2018.4.4f1 2019.1 starting from 2019.1.7f1, 2019.2, 2019.3, and 2019.4 | 5.1.1 |
| 2018.3, 2018.4 up to and including 2018.4.3f1 2019.1 up to and including 2019.1.6f1 | 4.6 |
| 2018.2 | 4.2.1 |
| 2018.1 | 4.0.1 |
| 2017.4, starting from 2017.4.17 | 4.6 |
| 2017.4 up to and including 2017.4.16 | 4.0.1 |
| 2017.1, 2017.2 | 2.14 |
使用Android Studio生成APK
- 使用Android Studio打开工程
- 点击 Build -> Generate Signed Bundle/APK ,然后选择APK
- 选择keystore和输入密码
- Build Type选择Release,Signature Versions,v1必须勾选,V2建议勾选
- 等待AS build完成,根据电脑配置所需要的时间不同
- 出现BUILD_SUCCESS ,就生成成功了,生成的APK放在:项目工程release\xxx-release.apk
Signature Versions中V1和V2
如果生成的APK在模拟器上无法安装,尝试只勾选V1
有关 Signature Versions中V1和V2的资料:《Android Studio 打包时 Signature Version V1 V2》
经测试:只勾选了V2,在MUMU模拟器上无法安装APK,而在安卓11的手机上是可以安装的。这是因为V2只对安卓7以上系统有效,而模拟器的安卓版本一版都比较低,比如mumu的安卓6
Unity2019使用Android Studio 4出安卓包的更多相关文章
- Android Studio修改项目的包名
android studio的修改包名,没有有Eclipse环境中那么好操作.也可能你对Eclipse的操作比较熟悉,对Andoid Studio的操作还不太熟悉.在项目的开发中,你可能遇到需要更改模 ...
- Android Studio下导出jar包和aar包
Android Studio下导出jar包和aar包 jar包和aar包的区别 步骤 1. 创建Android工程 创建工程比较简单,不错复述 2. 创建一个Library(Module) 创建了一个 ...
- Android studio 自动导入(全部)包 import
http://blog.csdn.net/buaaroid/article/details/44979629 1 Android studio 只有import单个包的快捷键:Alt+Enter.没有 ...
- Android studio 自动导入(全部)包 import (转)
原文: https://blog.csdn.net/buaaroid/article/details/44979629 1. Android studio 只有import单个包的快捷键:A ...
- 使用 Android Studio 开发 widget 安卓桌面插件
•What AppWidget 即桌面小部件,也叫桌面控件,就是能直接显示在Android系统桌面上的小程序: 这么说可能有点抽象,看图: 像这种,桌面上的天气.时钟.搜索框等等,都属于 APP Wi ...
- Android studio常用快捷键导包的设置
下面是一些快捷键的使用还有快速导包的设置 1. Ctrl+G 同时按下Ctrl+G快捷键弹出快速定位框,在框中输入行数点击OK即可快速切换到对应的行数,如图2.17所示. 2. Ctrl+E 同时按下 ...
- Android Studio下打jar包
在我们使用Eclipse时,我们常常使用的第三方类库文件大多都是jar包形式,用起来很方便.但是jar包只能打包class文件,对于Android UI类库而言,我们常常需要打包资源文件,对于界面不多 ...
- Android Studio 如何打JAR包
Android Studio 如何打JAR包 在eclipse中我们知道如何将一个项目导出为jar包,供其它项目使用. 在AS中可以通过修改gradle才处理. 我们新建一个项目MakeJar,在 ...
- 新建项目找不到android studio:appcompat v7:27.+包。
1.我们在build.gradle(project)中添加maven中的google库: allprojects { repositories { jcenter() maven { url &quo ...
- Android Studio导入第三方jar包或依赖工程的方法
Android Studio导入第三方jar包或依赖工程的方法 一 导入jar包的方法 1.打开自己的工程,将需要导入的jar包copy到libs文件夹下 2.在导入的jar包处单击菜单 Add ...
随机推荐
- 手写签名-微信小程序
index.wxml <canvas type="2d" id="canvas" bindtouchmove="move" bindt ...
- Asp .Net Core 系列:集成 Ocelot+Consul实现网关、服务注册、服务发现
什么是Ocelot? Ocelot是一个开源的ASP.NET Core微服务网关,它提供了API网关所需的所有功能,如路由.认证.限流.监控等. Ocelot是一个简单.灵活且功能强大的API网关,它 ...
- IDEA整合SSM框架:简易图书操作模块
这个SSM整合文章,以图书的增删改查为例 本篇文章源码已上传: Github:https://github.com/RivTian/University-coursework/tree/master/ ...
- AtCoder Beginner Contest 218 A~D
比赛链接:Here A - Weather Forecas 水题,判断 \(s[n - 1] = o\) 的话输出 YES B - qwerty 题意:给出 \((1,2,...,26)\) 的某个全 ...
- POJ 1015 Jury Compromise (完全背包)
题目大意: 在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定.陪审团是由法官从公众中挑选的.先随机挑选n 个人作为陪审团的候选人,然后再从这n 个人中选m 人组成陪审团.选m 人的办法是:控方和辩 ...
- 解决SUM函数返回为NULL
解决SUM函数返回为NULL SUM函数的作用:计算某一字段中所有行的数值和, 使用SUM函数进行对符合条件的结果行数进行求和. 问题产生: sum 求和时会对 null 进行过滤,不计算,但如果没有 ...
- 二、mongo集群搭建
系列导航 一.linux单机版mongo安装(带密码验证) 二.mongo集群搭建 三.java连接mongo数据库 四.java对mongo数据库增删改查操作 五.mongo备份篇 mongoexp ...
- 本地存储sessionStorage、localStorage
本地存储特性 数据存储在用户浏览器中 设置.读取方便.甚至页面刷新不丢失数据 容量较大,sessionStorage约5M.localStorage约20M 只能存储字符串,可以将对象JSON.str ...
- notepad++的使用技巧
一.多标签管理 1.可支持多个标签的展示
- 解决 idea maven plugins 报红波浪线
导入新项目到 idea 的时候,由于依赖的环境以及项目中 maven 编译所依赖的pom的版本不同,很多时候导入到idea的时候 maven Plugins 会出现报红的情况,这是由于maven仓库中 ...