unity导出安卓(Android)游戏:遇到的问题及解决方法
环境准备
unity自带JDK、AndroidSDK、AndroidNDK、Gradle插件,所以我们只需要下载unity然后在添加模块里
添加Android Build Support下所有模块,有些SDK里面Android和IOS都包含所以最好也添加上IOS Build Support,不然unity下可能有一个报错无法运行调试。
想要用中文版的unity就在添加模块最下面找到语言包简体中文勾上一块安装。
导出测试
目前我常用的是unity2022.3支持API最高级别 33 ,按环境要求导出基本上不会出问题。按下列步骤创建一个 不带SDK的新项目 导出测试:
1、新建一个 新项目 2D核心模板或者3D核心模板的,里面可以随便加几个物体或者直接用初始场景。
2、把 测试场景 添加到Build中的场景,平台切换成 Android 。
3、等一段时间切换平台完成后,选择左下角的 玩家设置 ,在弹出的窗口里找到设置Android下的 其他设置
4、找到 目标API级别 :选择当前unity支持的最高API级别,上面写到目前我常用的是unity2022.3支持API最高级别 33 所以我选择 API level 33 ;
找到 脚本后端 :默认是Mono改成 IL2CPP ;
找到 目标架构 :保证 ARMv7、ARM64 都勾选上。
5、关闭当前Project Settings窗口回到Build Settings窗口点击右下角 生成 选择一个路径保存然后等待几分钟会导出重命名的APK文件。
经过之前十几次的测试,unity自带的模块按上面设置全都导出APK成功,如果能导出成功证明你的unity引擎导出APK没有问题先不要修改JDK、AndroidSDK、AndroidNDK、Gradle插件。
常见问题及解决方法
1、按上面的方法测试导出APK失败
有可能你之前根据其他文章改过unity自带的包文件或者其他的项目文件
如果改过unity的文件并且没有备份不会改回来,最简单粗暴的方法就是卸载unity重新安装。现在网速都是300M起unity2、30个G半个小时就装完了,之前的项目重新选择路径打开即可。
经常改的一般是下面路径的文件
C:\Program Files\Unity\Hub\Editor\2022.3.15f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates
如果做过改动没有备份恢复重装unity吧
2、确保没修改过unity自带的文件
自己可以测试一下创建一个不带SDK版本的正在开发的游戏修完错误按上述方法导出,只要设置正确一般都能导出成功,我发现导出报错都是安装完SDK后出现的例如安装了 google广告或者TapADN配置完环境后 。
配置安卓开发环境写对代码就有很多坑,我们常创建的文件是发布设置里的自定义主要清单和自定义主要Gradle模板。这两个文件里面如果有 标点符号不对 绝对导出不成功,对于不经常写代码的开发者来说很容易写错标点符号,如果不带SDK能导出成功那问题可能就出在写这两个文件上面了。
3、如果API级别设置不对会导出报错让升级环境
如果 目标API级别33 足够用就不要折腾配置环境了。
如果看见下面这个弹窗不要选 Update Android SDK 关掉它 看看你的目标API级别选对没有。
4、以前出现过报错
Gradle build failed.See the Console for details
卡在Calling IPostGenerateGradleAndroidProject callbacks界面等问题
大部分原因也是自定义主要清单和自定义主要Gradle模板没写对造成的,如果用的SDK特别新需要更高的 目标API级别 那只能升级JDK、AndroidSDK、AndroidNDK、Gradle了。
如果不会升级配置JDK、AndroidSDK、AndroidNDK、Gradle最简单粗暴的方法就是直接升级unity版本用自带的插件,有些代码会不支持新的unity版本,如果升级可能需要修改或者重写代码,所以升级需谨慎!!!