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 ...
随机推荐
- Midjouney限时免费体验
前言 Midjourney 是一个人工智能程序,可根据文本生成图像,目前架设在 Discord 频道上.于 2022 年 7 月 12 日进入公开测试阶段,使用者可通过 Discord 的机器人指令进 ...
- Codeforces Round #736 (Div. 2) A~D
比赛链接:Here 1549A. Gregor and Cryptography 不难,观察一下就容易得知要想使得 \(p\pmod a = p\pmod b\) 令 \(a = 2,b=p - 1\ ...
- Codeforces 1312B Bogosort (逆序证明)
Example input 3 1 7 4 1 1 3 5 6 3 2 1 5 6 4 output 7 1 5 1 3 2 4 6 1 3 5 看题的时候发现和sort有关,但一定要逆序排序 证明: ...
- 【每日一题】6.Rinne Loves Edges (树形DP)
题目链接:Here 树形DP 算法讲解:Here 无向联通图其实就是树的形状,其次让我们以 s 为根使得所有的叶子节点不能到达根并且让删去边权的总和最小,那么就是典型的 树形DP 了. \(dp_i\ ...
- 前端科普系列(5):ESLint - 守住优雅的护城河
作者:Morrain [前端科普系列]帮助阅读者了解web前端,主要覆盖web前端的基础知识,但不深入讲解,定位为大而全并非细而精,适合非前端开发的同学对前端有一个系统的认识,能更好的与前端开发协作. ...
- 图扑数字孪生智慧机场,助推民航"四型机场"建设
前言 民航局印发的<智慧民航建设路线图>文件中,明确提出智慧机场是智慧民航的四个核心抓手之一.并从机场全域协同运行.作业与服务智能化.智慧建造与运维方面,为智慧机场的发展绘制了清晰的蓝图. ...
- threejs第一个案例
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 < ...
- java进阶(22)--Collection接口
一.基本概念呢 1.Collection在没有使用泛型之前的,Collection中可存储所有Object所有子类型 使用泛型后,Collection只能存储某个具体类型. 二.collectio ...
- 万字血书Vue—Vue的核心概念
MVVM M:模型(Model):data V:视图(View):模板 VM:视图模型(ViewModel):Vue实例对象 Vue收到了MVVM模型的启发,MVVM是vue实现数据驱动视图和双向数据 ...
- [转帖]021系统状态检测命令sosreport
https://www.cnblogs.com/anyoneofus/p/16467677.html sosreport命令用于收集系统配置及架构信息并输出诊断文档.