uni-app Hbuilder 开通谷歌广告Google Admob后安卓打包时打包失败

uni-app Hbuilder 开通谷歌广告Google Admob后安卓打包时打包失败

开发环境 版本号 项目创建方式
Windows 10.0.26.100 版本26100 HBuilderX

示例代码:

HBuilderX版本号:4.76
uniapp 编译器版本: 4.76
云打包服务器SDK版本: 4.76  

错误日志

[PackagePath]/app/AndroidManifest.xml:92:13-59 Error:
Attribute property#android.adservices.AD_SERVICES_CONFIG@resource value=(@xml/gma_ad_services_config) from [com.google.android.gms:play-services-ads-lite:23.2.0] AndroidManifest.xml:92:13-59
is also present at [com.google.android.gms:play-services-measurement-api:21.5.0] AndroidManifest.xml:32:13-58 value=(@xml/ga_ad_services_config).
Suggestion: add 'tools:replace=\"android:resource\"' to <property> element at AndroidManifest.xml to override.  

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processReleaseMainManifest'.
> Manifest merger failed with multiple errors, see logs  

* Try:
> Run with --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processReleaseMainManifest'.
...

操作步骤:

后台开通国际广告,谷歌google Admob广告,Hbuilder中云打包,安卓打民,国外广告勾选 Google Admob(谷歌广告),打包后即可显示打包失败

预期结果:

打包成功

实际结果:

打包失败

bug描述:

国际广告中已申请了谷歌广告Google AdMob,并审核通过在运行中,广告单元也已经申请好,代码中还没有加入广告相关代码,但是要打包安卓包时,只要勾选谷歌广告,就会显示:类型: Android自有证书  打包失败,去掉后,打包正常,错误日志在代码示例中,已提交

更多关于uni-app Hbuilder 开通谷歌广告Google Admob后安卓打包时打包失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

我也遇到同意的问题,请官方解决一下吧!
我也遇到同意的问题,请官方解决一下吧!

更多关于uni-app Hbuilder 开通谷歌广告Google Admob后安卓打包时打包失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


打包时有没有插件?提供一下appid。

打包时用到了,自己开发的友盟相关插件,属于本地插件,appid:UNIB327A15

回复 aiyouwei: 推送依赖于admob冲突,建议将插件升级到最新重新打包试一下。

这是一个典型的Android Manifest合并冲突问题。错误日志显示play-services-ads-lite:23.2.0play-services-measurement-api:21.5.0两个Google服务库在AndroidManifest.xml中定义了相同的属性但使用了不同的资源文件。

解决方案:

  1. 在manifest.json中配置节点替换规则
{
  "app-plus": {
    "android": {
      "manifest": {
        "replaceNodes": [
          {
            "path": "manifest/application/meta-data[@android:name='android.adservices.AD_SERVICES_CONFIG']",
            "replace": "<meta-data android:name=\"android.adservices.AD_SERVICES_CONFIG\" android:resource=\"@xml/gma_ad_services_config\" tools:replace=\"android:resource\"/>"
          }
        ]
      }
    }
  }
}
  1. 在manifest.json中添加tools命名空间: 在根manifest节点添加:
xmlns:tools="http://schemas.android.com/tools"
回到顶部