這幾天將Google Play上面的游戲更新一波,順便刷新下Admob SDK,結(jié)果當(dāng)接入GoogleMobileAds-v6.0.0版本的SDK后呆奕,打包會出現(xiàn)很多錯誤也拜,如下:
然后觀察這一段
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>這個東東豌研,因為當(dāng)前版本的Gradle沒法識別這個清單元素,所以需要升級Gradle唬党。
那么怎么升級呢聂沙?只需要查看你Unity版本目前使用的gradle版本,將其版本修改為上述最近的補(bǔ)丁版本就可以啦初嘹!
首先及汉,查找以下路徑,找到 C:\Unity安裝的位置\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates
找到baseProjectTemplate.gradle文件屯烦,將其打開坷随,可以看到我當(dāng)前使用的版本為
于是我修改為這個版本的補(bǔ)丁版本:3.4.3即可
注意:此文件修改可能無法保存,可以另存為一份文件后再在此目錄上覆蓋當(dāng)前文件即可
然后再進(jìn)行打包測試就沒有問題啦
額外一個小問題:最新的admob SDK填寫Admob ID后驻龟,當(dāng)你再次打開項目時温眉,可能之前填寫的Admob ID就不存在了,這是一個暫時發(fā)現(xiàn)的小bug翁狐,當(dāng)前版本SDK 沒有修復(fù)