2017-12-06 143 views
7
> A problem occurred configuring project ':react-native-fbsdk'. 
    > Could not resolve all dependencies for configuration ':react-native-fbsdk:_debugPublishCopy'. 
    > Could not find com.android.support:appcompat-v7:27.0.1. 
     Searched in the following locations: 
      file:/<location_to_sdk>/sdk/extras/android/m2repository/com/android/support/appcompat-v7/27.0.1/appcompat-v7-27.0.1.pom 
      file:/<location_to_sdk>/sdk/extras/android/m2repository/com/android/support/appcompat-v7/27.0.1/appcompat-v7-27.0.1.jar 
      file:/<location_to_app>/android/sdk-manager/com/android/support/appcompat-v7/27.0.1/appcompat-v7-27.0.1.jar 
     Required by: 
      newPtMobile:react-native-fbsdk:unspecified 

Ten problem zaczął się dzieje dziś rano, gdy uruchomiony reagowania-rodzimy run-android bez dokonywania jakichkolwiek zmian w kodzie lub dodawania nowych pakietów, to działa dobrze aż teraz!reagować-native fb SDK com.android.support błąd zależność

"reagują-native": "0.50.3", "reagują-native fbsdk": "0.6.3"

widzę, że brakuje mi android support libraries w moich sdk/extras/android/m2repository/com/android/support podfolderów, wszystkie podfoldery mają folder 26.0.0-alpha1 jako ostatni. Próbowałem już usunąć repozytorium pomocy technicznej i zainstalować ponownie za pomocą Android Studio i pobrać najnowszą android_m2repository ręcznie, ale folderów nadal brakuje.

Co mam problemy ze zrozumieniem dlatego google's maven repository (https://dl.google.com/dl/android/maven2/index.html) stwierdza, że ​​pod npm2repository/com/android/support/appcompat-v7 I powinien mieć folder o nazwie 27.0.2 (wraz z kilkoma poprzednimi wersjami, które są również brakuje), ale nawet w najnowszym android_m2repository których tej oferty również brakuje!

https://dl.google.com/android/repository/android_m2repository_r48.zip

Odpowiedz

0

mam ten sam problem, a ja rozwiązany:

  1. edycji package.json i jestem edit react-native-fbsdk z react-native-fbsdk": "0.6.3" do react-native-fbsdk": "0.6.0"

  2. przejdź do node_modules/react-native-fbsdk/android/build.gradle. otworzyć build.gradle file.

  3. Zmień compile('com.facebook.android:facebook-android-sdk:4++') do compile('com.facebook.android:facebook-android-sdk:4.22.1'),

ale nie wiem, czy to jest najlepszym sposobem na ten problem, dziękuję

6

widzę, że inny wątek był otwarty na ten sam problem: getting error when run react-native run-android

Rozwiązanie zalecane tam jest blisko Sutani, to jest edycja node_modules/react-native-fbsdk/android/build.gradle i dodanie

compile('com.facebook.android:facebook-android-sdk:4.28.0')

Wydaje się nie być regresja wprowadzona przez reagują-native fbsdk ale przez biblioteki Google Android, ale nie jestem w 100% jasne o nim.

0
CUR_SPACE=. 
culpritLocation=$CUR_SPACE/node_modules/react-native-fbsdk/android/build.gradle 

sed -i -e 's/com.facebook.android:facebook-android-sdk:4.+/com.facebook.android:facebook-android-sdk:4.26.0/' $culpritLocation 

printf "Fixed Could not resolve all dependencies for configuration ':react-native-fbsdk:_debugPublishCopy'.\n> Could not find com.android.support:appcompat-v7:27.0.1." 
printf "fix_rn_fbsdk_google_libraries.sh should be removed at a later time\n" 

Umieść Powyższy skrypt w katalogu głównym reagują-rodzimej projektu, dodać wykonywania uprawnienia do niego, a następnie w package.json w postinstall nieruchomość dodać ./your-script-name.sh;. Przykład:

{ 
    "name": "AppName", 
    "version": "1.28.14", 
    "scripts": { 
    "start": "node node_modules/react-native/local-cli/cli.js start", 
    "postinstall": "./fix_rn_fbsdk_google_libraries.sh; ./infuse_version.sh;" 
    }, 
    [..] 
} 

Jeśli nie znasz skryptów poinstalacyjnych, zostaną one uruchomione natychmiast po uruchomieniu polecenia npm install/yarn.

Proponowane rozwiązanie działa z narzędziami do budowy chmury :) i jest tylko tymczasowe. Przyszłe wydania rn-fbsdk powinny rozwiązać problem.

+0

puszka opisujesz swoją odpowiedź bardziej, aby uzyskać jasne zrozumienie. –

0

Klucz jest w komunikacie przedstawionym w Twoim przypadku:

Szukano w następujących miejscach: file:/<location_to_sdk>/sdk/extras/android/m2repository/com/android/support/appcompat-v7/27.0.1/

miałem to samo. Następnie udałem się do lokalizacji:

file:<location_to_sdk>/sdk/extras/android/m2repository/com/android/support/appcompat-v7/

i stwierdził, że nie istnieje katalog o nazwie 27.0.1 bo w moim przypadku ostatni buildTool nie została pobrana. W moim przypadku miałem 27.0.0-alpha1.

Więc w obu mojej aplikacji build.gradle aw

node_modules/reagują-native fbsdk/android/build.gradle

Wymieniłem 27.0.1 z 27.0.0-alpha1 i build był udany.

10

Mam również ten sam problem. Udało mi się pomyślnie zbudować, aktualizując mój plik
ROOTY: .

KROKI:
1. Wszystko co musisz zrobić, to dodać nowy maven linię do sekcji allprojects dla maven.google.com
2. Dodać resolutionStrategy ograniczy android wersji fbsdk do 4.28.0

allprojects { 
    repositories { 
     mavenLocal() 
     jcenter() 
     configurations.all { 
     resolutionStrategy { 
      force 'com.facebook.android:facebook-android-sdk:4.28.0' 
     } 
    } 
     maven { 
      url "https://maven.google.com" 
     } 
     maven { 
      // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm 
      url "$rootDir/../node_modules/react-native/android" 
     } 
     } 
    } 
+1

Dziękuję, gdy dodam https://maven.google.com, pobierz brakujące elementy. ale w moim przypadku musiałem również zmienić mój android/app/build.gradle i android/build.gradle na 26, 27.0.2 – chii

+0

Tak Będziesz mieć aktualizację ** Project: android/app/build.gradle i wszystkie te biblioteki, które łączysz w swoim projekcie. FBSDK: android/build.gradle ** do 26, 27.0.2 @chii –

+1

Dodanie adresu https://maven.google.com okazało się skuteczne. Dzięki! – Bataleon