首页 > 解决方案 > 任务“:react-native-admob:verifyReleaseResources”执行失败

问题描述

我有一个第三方依赖项(react-native-admob),它在其 build.gradle 文件中指定了以下内容:com.google.android.gms:play-services-ads:+。查看 Google Android API 发行说明页面,2019 年 6 月 17 日对整个 com.google.android.gms API 组进行了重大更新。

我运行 './gradlew assembleDebug' 出现错误:

/Users/yons/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/8cb1ac92f08bb5fb26b003aaf1d22a69/res/values/values.xml:251:5-69:AAPT:错误:资源android :attr/fontVariationSettings 未找到。

/Users/yons/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/8cb1ac92f08bb5fb26b003aaf1d22a69/res/values/values.xml:251:5-69:AAPT:错误:资源android :attr/ttcIndex 未找到。

为了解决我的问题,我在我的 android/app/build.gradle 文件中添加了以下内容:

configurations.all {
    resolutionStrategy.force 'com.google.android.gms:play-services-ads:17.2.1'
}

现在,我运行 './gradlew assembleDebug' 工作正常。但我运行 './gradlew assembleRelease' 时出现错误:

/Users/yons/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/8cb1ac92f08bb5fb26b003aaf1d22a69/res/values/values.xml:251:5-69:AAPT:错误:资源android :attr/fontVariationSettings 未找到。

/Users/yons/.gradle/caches/transforms-1/files-1.1/appcompat-v7-27.1.1.aar/8cb1ac92f08bb5fb26b003aaf1d22a69/res/values/values.xml:251:5-69:AAPT:错误:资源android :attr/ttcIndex 未找到。

错误:链接引用失败。

FAILURE:构建失败并出现异常。

  • 出了什么问题:任务':react-native-admob:verifyReleaseResources'的执行失败。com.android.ide.common.process.ProcessException:无法执行 aapt

我该如何解决?

标签: javascriptandroidreact-nativegradleadmob

解决方案


根本原因是相关迁移到Androidx,google play服务更新到androidX 这个问题属于react-native-device-inforeact-native-device-info最好的选择是使用升级

  1. 纱线升级 react-native-device-info@2.1.2
  2. cd android && gradlew clean
  3. react-native run-android

之后,您可以按照上面答案中的说明进行更改。像这样

implementation(project(":react-native-admob"),  {
        exclude group: "com.google.android.gms"
})
implementation "com.google.android.gms:play-services-ads:16.0.0"

推荐阅读