react-native - 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'
}
}
解决方案
从错误日志中我可以看到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
推荐阅读
- python - rundeck 无法使用 import-module 执行 powershell 脚本
- javascript - React JS,尝试从数组中获取第一个值时未定义错误
- c# - 解密问题时 Base-64 字符数组的长度无效
- python - 将 DTM 转换为文本
- java - 如何检查该数组在 Apache FreeMarker 中的大小 > 1?
- ios - 语句执行目标 c 后等待 ms
- python - 每周自动运行python脚本(windows)
- bash - 如何按照flyway在bash中执行它们的顺序列出文件?
- python - 由于 4D numpy 数组而出现 ValueError?sklearn 和 nilearn
- firebase - 如何在 Firebase 中使用事件的参数值创建漏斗?