首页 > 解决方案 > React-Native Android 构建失败:任务“:app:processDebugResources”执行失败。处理资源失败

问题描述

我无法弄清楚构建有什么问题。我尝试了运行 ./gradlew clean 以及将 android.enableAapt2=false 添加到 gradle.properties 的常见解决方案。

google-services.json 文件夹位于 /android/app 级别。

我现在不知道如何通过这个。

如果我忘了包含一些有用的东西,请 lmk,我会更新。

干杯

错误输出

配置项目:app 警告:指定的 Android SDK 构建工具版本 (26.0.1) 被忽略,因为它低于 Android Gradle 插件 3.1.3 的最低支持版本 (27.0.3)。将使用 Android SDK 构建工具 27.0.3。要禁止显示此警告,请从您的 build.gradle 文件中删除“buildToolsVersion '26.0.1'”,因为每个版本的 Android Gradle 插件现在都有一个默认版本的构建工具。在查看 [src/nullnull/debug, src/debug/nullnull, src/nullnull, src/debug, src/nullnullDebug] 时找不到 google-services.json 不推荐使用 registerResGeneratingTask,使用 registerGeneratedResFolders(FileCollection) 找不到 google- services.json 同时查看 [src/nullnull/release, src/release/nullnull, src/nullnull, src/release, src/nullnullRelease] registerResGeneratingTask 已弃用,

配置项目:react-native-google-analytics-bridge 警告:配置“编译”已过时,已替换为“实施”和“API”。它将在 2018 年底被删除。有关更多信息,请参阅:http ://d.android.com/r/tools/update-dependency-configurations.html

配置项目:react-native-radar 警告:配置“编译”已过时,已替换为“实施”和“API”。它将在 2018 年底被删除。有关更多信息,请参阅:http ://d.android.com/r/tools/update-dependency-configurations.html

任务 :app:processDebugGoogleServices 解析 json 文件:/Users/kyletreman/18F/courier_test_app/android/app/google-services.json

/Users/kyletreman/.gradle/caches/transforms-1/files-1.1/appcompat-v7-23.0.1.aar/64df69838d7c555de168bdcf18f3be5c/res/values/values.xml:113:5-69:AAPT:错误:资源android :attr/fontVariationSettings 未找到。

/Users/kyletreman/.gradle/caches/transforms-1/files-1.1/appcompat-v7-23.0.1.aar/64df69838d7c555de168bdcf18f3be5c/res/values/values.xml:113:5-69:AAPT:错误:资源android :attr/ttcIndex 未找到。

错误:链接引用失败。

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

  • 出了什么问题:任务“:app:processDebugResources”执行失败。无法处理资源,请参阅上面的 aapt 输出了解详细信息。

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

  • 在https://help.gradle.org获得更多帮助

2 秒内构建失败 50 个可操作任务:3 个已执行,47 个最新 无法在设备上安装应用程序,请阅读上面的错误以了解详细信息。确保您有一个正在运行的 Android 模拟器或连接的设备并已设置您的 Android 开发环境: https ://facebook.github.io/react-native/docs/getting-started.html

/android/app/build.gradle

android {
compileSdkVersion 27
buildToolsVersion "27.0.3"

defaultConfig {
    applicationId "com.courier_test_app.app"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    ndk {
        abiFilters "armeabi-v7a", "x86"
    }
}
splits {
    abi {
        reset()
        enable enableSeparateBuildPerCPUArchitecture
        universalApk false  // If true, also generate a universal APK
        include "armeabi-v7a", "x86"
    }
}
buildTypes {
    release {
        minifyEnabled enableProguardInReleaseBuilds
        proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
    }
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
    variant.outputs.each { output ->
        // For each separate APK per architecture, set a unique version code as described here:
        // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
        def versionCodes = ["armeabi-v7a":1, "x86":2]
        def abi = output.getFilter(OutputFile.ABI)
        if (abi != null) {  // null for the universal-debug, universal-release variants
            output.versionCodeOverride =
                    versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
        }
    }
}
}

dependencies {
implementation(project(':react-native-firebase')) {
    transitive = false
}
implementation 'com.google.firebase:firebase-core:16.0.0'
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'com.android.support:support-v13:27.1.1'
implementation "com.facebook.react:react-native:+"  // From node_modules
implementation project(':react-native-radar')
implementation project(':react-native-google-analytics-bridge')
}

// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

/android/build.gradle

buildscript {
repositories {
    jcenter()
    google()
}
dependencies {
    classpath 'com.google.gms:google-services:4.0.0'
    classpath 'com.android.tools.build:gradle:3.1.3'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

allprojects {
repositories {
    mavenLocal()
    google()
    jcenter()
    maven {
        // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
        url "$rootDir/../node_modules/react-native/android"
    }
}
}

configurations.all {
resolutionStrategy {
    force 'com.android.support:support-v4:27.1.0'
}
}

标签: react-nativeandroid-gradle-pluginbuild.gradlereact-native-androidgoogle-play-services

解决方案


从错误日志中我可以看到appcompat-v7-23.0.1仍在使用中。因此,更新 resolutionStrategy 可能会有所帮助:

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
        force 'com.android.support:appcompat-v7-23.0.1'
    }
}

您还需要将该解析策略块放在您的 app/build.gradle


推荐阅读