问题
In my react-native project in android/app/build.gradle i have
...
compileSdkVersion 26
buildToolsVersion \"26.0.1\"
defaultConfig {
applicationId \"...\"
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName \"1.0\"
ndk {
abiFilters \"armeabi-v7a\", \"x86\"
}
}
...
dependencies {
compile project(\':react-native-fbsdk\')
compile project(\':react-native-vector-icons\')
compile project(\':react-native-splash-screen\')
compile project(\':react-native-spinkit\')
compile project(\':react-native-orientation\')
compile project(\':react-native-maps\')
compile project(\':react-native-android-sms-listener\')
compile fileTree(dir: \"libs\", include: [\"*.jar\"])
compile \"com.android.support:appcompat-v7:26+\"
compile \"com.android.support:design:26+\"
compile \"com.android.support:recyclerview-v7:26+\"
compile \"com.android.support:cardview-v7:26+\"
compile \"com.facebook.react:react-native:+\" // From node_modules
compile(\"com.crashlytics.sdk.android:crashlytics:2.8.0@aar\") {
transitive = true;
}
}
...
but I always get
<mypath> .../node_modules/react-native-fbsdk/android/build/intermediates/res/merged/release/values-v26/values-v26.xml:15:21-54: AAPT: No resource found that matches the given name: attr \'android:keyboardNavigationCluster\'.
<mypath> .../node_modules/react-native-fbsdk/android/build/intermediates/res/merged/release/values-v26/values-v26.xml:15: error: Error: No resource found that matches the given name: attr \'android:keyboardNavigationCluster\'.
:react-native-fbsdk:processReleaseResources FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task \':react-native-fbsdk:processReleaseResources\'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt
回答1:
Go to React-Native Project : android/build.gradle
file and restrict fbsdk
Version to 4.28.0.
allprojects {
repositories {
...
configurations.all {
resolutionStrategy {
force 'com.facebook.android:facebook-android-sdk:4.28.0'
}
}
}
}
If you have another error like below:
Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'`.
You can try:
allprojects {
repositories {
...
configurations.all {
resolutionStrategy {
force 'com.facebook.android:facebook-android-sdk:4.22.1'
}
}
}
}
Source: rafaesc
回答2:
you go to YOUR_PROJECT/node_modules/react-native-fbsdk/android/build.gradle
looking for line 19:
dependencies {
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.facebook.react:react-native:+' // support react-native-v0.22-rc+
compile('com.facebook.android:facebook-android-sdk:4.+')
}
change compile('com.facebook.android:facebook-android-sdk:4+') to compile('com.facebook.android:facebook-android-sdk:4.28.0')
It work for me
来源:https://stackoverflow.com/questions/47757074/react-native-fbsdk-error-no-resource-found-that-matches-the-given-name-attr-a