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 ...
随机推荐
- A/B 实验避坑指南:为什么不建议开 AABB 实验
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 本文将针对日常开设 A/B 实验过程中一个不太合理的使用方法--AABB 实验进行详细的解释,告诉大家为什么不建议 ...
- Flutter 自定义组件实战之Cupertino(iOS)风格的复选框
继上一篇Flutter自定义组件的视频短课(视频地址: https://www.bilibili.com/video/BV1ap4y1U7UB/ )后,我们继续来聊自定义组件.视频中我为大家详解了Cu ...
- 阿里云视频云人脸生成领域最新研究成果入选CVPR2022
CVPR(IEEE Conference on Computer Vision and Pattern Recognition)作为计算机视觉和模式识别领域的顶级会议,在全球具有极高的权威性.目前在中 ...
- Gcc内置原子操作__sync_系列函数
Gcc内置原子操作__sync_系列函数简述及例程 Gcc 4.1.2版本之后,对X86或X86_64支持内置原子操作.就是说,不需要引入第三方库(如pthread)的锁保护,即可对1.2.4.8字节 ...
- HanLP — HMM隐马尔可夫模型 -- 维特比(Viterbi)算法 --示例代码 - Java
Viterbi 维特比算法解决的是篱笆型的图的最短路径问题,图的节点按列组织,每列的节点数量可以不一样,每一列的节点只能和相邻列的节点相连,不能跨列相连,节点之间有着不同的距离,距离的值就不在 题目背 ...
- vi / vim 键盘图(清晰打印版,桌面背景好图)
PDF File https://files.cnblogs.com/files/RioTian/vivim-graphical.zip?t=1704439837&download=true ...
- 【MFC】CListCtrl 如何设置单元格颜色?
CListCtrl默认可设置的内容很少,如单元格颜色默认无法设置.若想设置单元格颜色,需要对CListCtrl进行拓展,已有老外为我们写好demo,这里对其中原理.设置方法进行一个解析. 其原理是:设 ...
- # 0x54 动态规划-树形DP
A.没有上司的舞会 基础树形DP emmm,蒟蒻发现自己的DP太辣鸡了...所以来练练DP,这题的话实际上应该算是树DP的入门题吧,转移还是挺好想的. 每次在每个节点都会有个选择,就是选还是不选,如果 ...
- 硬核调试实操 | 手把手带你实现 Serverless 断点调试
导读:在应用开发过程中,或者开发完成后,若出现执行结果不符合我们的预期时,通常需要进行一定的调试工作.但是在 Serverless 架构下,调试工作往往会受到一些环境因素限制,如所开发的应用在本地是比 ...
- ASP.NET Core 5.0 MVC 页面标记帮助程序的使用
什么是标记帮助程序 标记帮助程序使服务器端代码可以在 Razor 文件中参与创建和呈现 HTML 元素.标记帮助程序使用 C# 创建,基于元素名称.属性名称或父标记以 HTML 元素为目标. 创建标记 ...