2017-12-11 184 views
7

W moim reagować rodzimy projekt w android/app/build.gradle mamreagować-native fbsdk błąd: Nie znaleziono zasobów, które odpowiada Imię: attr 'android: keyboardNavigationCluster'

... 
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:[email protected]") { 
     transitive = true; 
    } 
} 
... 

ale zawsze

<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 
+0

przypadku zmiany _compileSdkVersion = 26_ i _buildToolsVersion = '26 .0 .1'_ we wszystkich zależnościach pliki build.gradle @Sunrising –

+0

Czy mogę edytować pliki w module node_modules? @SyedZainAli – Sunrising

+0

Tak, będziesz musiał zaktualizować plik w module node_modules/fb SDK –

Odpowiedz

27

idź do React Native-Projekt: android/build.gradle plik i ograniczyć fbsdk Wersja do 4.28.0.

allprojects { 
    repositories { 
     ... 
     configurations.all { 
      resolutionStrategy { 
       force 'com.facebook.android:facebook-android-sdk:4.28.0' 
      } 
     } 
    } 
} 

Jeśli masz inny błąd jak poniżej:

Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'`.

Można spróbować:

allprojects { 
    repositories { 
     ... 
     configurations.all { 
      resolutionStrategy { 
       force 'com.facebook.android:facebook-android-sdk:4.22.1' 
      } 
     } 
    } 
} 

Źródło: rafaesc

+2

to działa dobrze! – Crysfel

+0

idealne, dzięki! – adlondon

5

idziesz do YOUR_PROJECT/node_modules/reagują-native fbsdk/android/build.gradle

patrząc na linii 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.+') 
} 

zmiana kompilacji ('com.facebook.android:facebook-android-sdk:4+') do kompilacji ('com.facebook.android:facebook-android-sdk:4.28.0')

To działa na mnie

+0

Tak! To zadziałało dla mnie. Dziękuję bardzo, oszczędzasz mi dużo czasu –

+0

dzięki. To też zadziałało dla mnie. Teraz dostaję kolejny komunikat o błędzie, ale mówię "Konfiguracja z nazwą" domyślnie "nie znaleziono". –

+4

To jest złe rozwiązanie, będzie działało tylko do momentu zaktualizowania zależności i nadpisania węzła node_modules. Zakładając, że twoje moduły node_modules są wykluczone z kontroli źródła, nikt inny nie będzie w stanie uruchomić twojego projektu. – Sam