Unity接入最新的Admob SDK 遇见了queries无法被识别的问题

这几天将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  found in .

* 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  found in .

说这个路径下的AndroidManifest有问题,那就去看看吧,顺藤摸瓜找到这个文件,找到这一行

manifest.png

看文件没有问题哈,实际上原因就是这个东东,因为当前版本的Gradle没法识别这个清单元素,所以需要升级Gradle。

这里也给出了解决方案:https://stackoverflow.com/questions/62969917/how-to-fix-unexpected-element-queries-found-in-manifest-error

解决方案.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

你可能感兴趣的:(Unity接入最新的Admob SDK 遇见了queries无法被识别的问题)