React-Native Android Build Ошибка: не удалось выполнить задачу ":app:processDebugResources". Не удалось обработать ресурсы
Я не могу понять, что не так со сборкой. Я попробовал общие решения для запуска./gradlew clean и добавления android.enableAapt2=false в gradle.properties.
Папка google-services.json находится на уровне / android / app.
Я сейчас в растерянности относительно того, как пройти этот.
Если я забыл включить что-нибудь полезное, пожалуйста, lmk, и я обновлю.
ура
Ошибка вывода
Настройка проекта: приложение ПРЕДУПРЕЖДЕНИЕ. Указанная версия Android SDK Build Tools (26.0.1) игнорируется, так как она ниже минимально поддерживаемой версии (27.0.3) для Android Gradle Plugin 3.1.3. Будут использованы инструменты сборки Android SDK 27.0.3. Чтобы подавить это предупреждение, удалите "buildToolsVersion '26.0.1'" из своего файла build.gradle, поскольку каждая версия подключаемого модуля Android Gradle теперь имеет версию инструментов сборки по умолчанию. Не удалось найти google-services.json при поиске в [src/nullnull/debug, src/debug/nullnull, src/nullnull, src/debug, src/nullnullDebug] registerResGeneratingTask устарела, используйте registerGeneratedResFolders (не найдена) services.json при поиске в [src / nullnull / release, src / release / nullnull, src / nullnull, src / release, src / nullnullRelease] registerResGeneratingTask устарела, используйте registerGeneratedResFolders(FileCollection)
Настроить проект: response-native-google-analytics-bridge ВНИМАНИЕ: Конфигурация 'compile' устарела и была заменена на 'реализация' и 'api'. Он будет удален в конце 2018 года. Для получения дополнительной информации см.: http://d.android.com/r/tools/update-dependency-configurations.html
Настроить проект: response-native-radar. ПРЕДУПРЕЖДЕНИЕ. Конфигурация 'compile' устарела и была заменена на 'реализация' и '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'
}
}
3 ответа
Из журнала ошибок я вижу, что 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
Исправлена
Мне удалось получить помощь от кого-то, знакомого с родной стороной, и он помог мне разобраться с множеством ошибок.
порядок выполнения имеет значение, это был заказ, который работал для меня
implementation "com.facebook.react:react-native:+" // From node_modules implementation "com.android.support:support-v4:27.1.1" implementation 'com.android.support:support-v13:27.1.1' implementation "com.android.support:appcompat-v7:27.1.1" implementation(project(':react-native-firebase')) implementation fileTree(dir: "libs", include: ["*.jar"]) implementation project(':react-native-radar') implementation project(':react-native-google-analytics-bridge')
Мне нужно перенести стратегии разрешения конфигурации в файл android / app / build.gradle, мой был на неправильном уровне. Мне также пришлось изменить версии пакетов поддержки и appcompat. Вы можете найти зависимости через
./gradlew app:dependencies
из папки андроида. Проблема заключалась в том, что одной из зависимостей было вытягивание более старой версии, которая была исправлена с помощью следующего в ResolutionStrategies.
force 'com.android.support:appcompat-v7:27.1.1'
Следующим изменением, которое нужно было сделать, была следующая строка в MainApplication.java
return BuildConfig.DEBUG;
к этому
return <app_name>.BuildConfig.DEBUG;
Я также удалил enableaapt2=false
Последний совет, который я могу дать, заключается в том, что наименование имеет значение, не переименовывайте свое приложение, если оно не является абсолютно необходимым, и убедитесь, что оно изменяется в файлах Main java и AndroidMainfest.xml.
ОБНОВЛЕНО
Я понял, что мой отладчик не подключался, потому что я удалил некоторые пакеты реализации, которые поддерживали firebase, добавив их обратно, исправил проблему. Добавьте следующее ниже реализации Firebase.
implementation "com.google.android.gms:play-services-base:15.0.1" implementation "com.google.firebase:firebase-core:16.0.1"
Поместите этот код в конец android/build.gradle, используйте ваши собственные номера для compileSdkVersion и buildToolsVersion
subprojects {
afterEvaluate {project ->
if (project.hasProperty("android")) {
android {
compileSdkVersion 27
buildToolsVersion "27.0.2"
}
}
}
}