这几天将Google Play上面的游戏更新一波,顺便刷新下Admob SDK,结果当接入GoogleMobileAds-v6.0.0版本的SDK后,打包会出现很多错误,如下:
5个报错.png
然后观察这一段
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':launcher:processReleaseResources'.
> Android resource linking failed
D:\XXXX\项目名称\Temp\gradleOut\launcher\build\intermediates\merged_manifests\release\AndroidManifest.xml:39: AAPT: error: unexpected element <queries> found in <manifest>.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at [图片上传失败...(image-7eb28f-1623034454970)]
https://help.gradle.org
BUILD FAILED in 2s
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
看这句
D:\XXXX\项目名称\Temp\gradleOut\launcher\build\intermediates\merged_manifests\release\AndroidManifest.xml:39: AAPT: error: unexpected element <queries> found in <manifest>.
说这个路径下的AndroidManifest有问题,那就去看看吧,顺藤摸瓜找到这个文件,找到这一行
看文件没有问题哈,实际上原因就是<queries>这个东东,因为当前版本的Gradle没法识别这个清单元素,所以需要升级Gradle。 解决方案.png
那么怎么升级呢?只需要查看你Unity版本目前使用的gradle版本,将其版本修改为上述最近的补丁版本就可以啦!
首先,查找以下路径,找到 C:\Unity安装的位置\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates
找到baseProjectTemplate.gradle文件,将其打开,可以看到我当前使用的版本为 改前版本号.png
于是我修改为这个版本的补丁版本:3.4.3即可
改后版本号.png注意:此文件修改可能无法保存,可以另存为一份文件后再在此目录上覆盖当前文件即可
然后再进行打包测试就没有问题啦
额外一个小问题:最新的admob SDK填写Admob ID后,当你再次打开项目时,可能之前填写的Admob ID就不存在了,这是一个暂时发现的小bug,当前版本SDK 没有修复
admob id.png
网友评论