Ошибка получения родительского элемента для элемента: ресурс не найден, который соответствует имени 'android: TextAppearance.Material.Widget.Button.Colored'
Сегодня я столкнулся с ошибкой, упомянутой в этом сообщении:
Ошибка получения родительского элемента: ресурс не найден, который соответствует указанному имени 'android: TextAppearance.Material.Widget.Button.Borderless.Colored'
Самое смешное (и разница) - наше приложение составляет 5 месяцев в производстве, и до сих пор мы сделали сотни сборников и APK.
Мы не изменили ни одну строку кода в течение недели (ни одна из версий библиотеки), и сборка неожиданно перестала работать с этой упомянутой ошибкой.
Execution failed for task ':react-native-fbsdk:processReleaseResources'
X:\app\node_modules\react-native-fbsdk\android\build\intermediates\res\merged\release\values-v24\values-v24.xml:3: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.
X:\app\node_modules\react-native-fbsdk\android\build\intermediates\res\merged\release\values-v24\values-v24.xml:4: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.
X:\app\node_modules\react-native-fbsdk\android\build\intermediates\res\merged\release\values-v24\values-v24.xml:3: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.
X:\app\node_modules\react-native-fbsdk\android\build\intermediates\res\merged\release\values-v24\values-v24.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.
Использование этих версий библиотек (package.json):
...
"react": "15.3.2",
"react-native": "0.37.0",
...
"react-native-fbsdk": "~0.5.0",
...
Наш build.gradle(не весь), который работал до сих пор:
compileSdkVersion 24
buildToolsVersion '24.0.3'
defaultConfig {
applicationId "xxx"
minSdkVersion 16
targetSdkVersion 23
versionCode 14
versionName "1.5.3"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
dependencies {
compile project(':react-native-device-info')
compile project(':react-native-maps')
compile project(':realm')
compile project(':react-native-vector-icons')
compile project(':react-native-image-picker')
compile project(':react-native-fs')
compile project(':react-native-share')
compile project(':react-native-push-notification')
compile project(':react-native-fbsdk')
compile('com.google.android.gms:play-services-gcm:9.4.0') {
force = true;
}
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.facebook.react:react-native:+'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.2.3'
compile 'com.fasterxml.jackson.core:jackson-core:2.2.3'
compile 'com.fasterxml.jackson.core:jackson-databind:2.2.3'
}
Любые идеи, пожалуйста?
Ответы
Ответ 1
Наконец, я нашел решение. После прочтения всех ответов и связанных с ними проблем (Facebook Sdk Android Error Building) и многих попыток (обновление библиотек, зависимости, множество изменений в версии и т.д.) Мне удалось создать приложение снова. Затем я вернул все ненужные изменения и там, что осталось:
Мне нужно было добавить 2 вещи (итератор и строка с "force" ) в файле android/build.gradle (не android/app/build.gradle):
allprojects {
configurations.all {
resolutionStrategy {
eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'com.facebook.react' && details.requested.name == 'react-native') {
details.useVersion "0.37.0" // Your real React Native version here
}
}
force 'com.facebook.android:facebook-android-sdk:4.22.1'
}
}
}
Спасибо за все советы в любом случае!
Ответ 2
Я думаю, что это та же проблема, что Facebook Sdk Android Error Building
Вы должны перейти от
compile('com.facebook.android:facebook-android-sdk:4.+')
to
compile('com.facebook.android:facebook-android-sdk:4.22.1')
в node_modules\response-native-fbsdk\android\build.gradle
Ответ 3
Решение найдено в этом вопросе Facebook Sdk Android Error Building
Я также разблокировал репо и предоставил все эти изменения, чтобы запустить его с помощью RN 0.42. Вы можете установить его, набрав yarn add https://github.com/kidnapkin/react-native-fbsdk.git
Ответ 4
на самом деле существует некоторая проблема зависимостей
я столкнулся с таким же, но я решил его, применяя эти изменения несоответствия версии:
compileSdkVersion 24
buildToolsVersion '24.0.3'
compile 'com.android.support:appcompat-v7:23.0.1'
убедитесь, что эта версия - это тот же API. Это означает, что если вы используете 24 API для сборки, тогда appcompat-v7 должен быть 24.0. + Что-то.
Ответ 5
Эта проблема возникла после обновления библиотек, добавления зависимостей, изменений в версии и т.д. Все, что вам нужно, это совпадение версий Sdk вашего проекта и пакет, который вы только что добавили или обновили.
-
Перейдите в android/app/build.gradle
android {
compileSdkVersion 25
buildToolsVersion '25.0.3'
defaultConfig {
minSdkVersion 16
targetSdkVersion 25
}
-
Перейдите к node_modules/your-package/android/build.gradle
android {
compileSdkVersion 25
buildToolsVersion '25.0.3'
defaultConfig {
minSdkVersion 16
targetSdkVersion 25
Если проблема еще не решена, проверьте другие пакеты из package.json
Вот оно. Надеюсь, что это поможет.