Реакция-native-fb sdk com.android.support ошибка зависимости

 > 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

Эта проблема начала возникать сегодня утром, когда запускался реактивный запуск-android без внесения каких-либо изменений в код или добавления новых пакетов, до сих пор она работала нормально!

"реакция-нативный":"0.50.3", "реакция-нативный-fbsdk":"0.6.3"

Я вижу, что мне не хватает android support libraries в моем sdk/extras/android/m2repository/com/android/support подпапки, все подпапки имеют 26.0.0-alpha1 папка как последняя. Я уже пытался удалить репозиторий поддержки и установить снова через Android Studio и загрузить последнюю версию android_m2repository вручную, но папки по-прежнему отсутствуют.

Что мне трудно понять, так это почему google's maven repository ( https://dl.google.com/dl/android/maven2/index.html) утверждает, что, например, в m2repository/com/android/support/appcompat-v7 У меня должна быть папка с именем 27.0.2 (вместе с некоторыми предыдущими версиями, которые также отсутствуют), но даже в последней версии android_m2repository, которую они предлагают, также отсутствует!

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

5 ответов

У меня тоже есть такая же проблема. Я смог успешно построить, обновив мой
КОРЕНЬ: android/build.gradle файл.

ШАГИ:
1. Все, что вам нужно сделать, это добавить новый maven линия к allprojects раздел для maven.google.com
2. Добавить resolutionStrategy Ограничит вашу версию Android FBSDK 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"
        }
      }
  }

Я вижу, что другой поток был открыт по той же самой проблеме: получение ошибки при запуске реакции-нативный запуск-Android

Рекомендуемое решение близко к Сутани, то есть редактирование node_modules/react-native-fbsdk/android/build.gradleи добавление

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

Похоже, это не регрессия, введенная response-native-fbsdk, а библиотеками Google Android, но я не на 100% уверен в этом.

Ключ находится в сообщении об ошибке, показанном в вашем случае:

Поиск в следующих местах: file:/<location_to_sdk>/sdk/extras/android/m2repository/com/android/support/appcompat-v7/27.0.1/

У меня было то же самое. Затем я пошел к месту:

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

И обнаружил, что нет каталога с именем 27.0.1 потому что в моем случае последняя версия buildTool не была загружена. В моем случае у меня было 27.0.0-alpha1,

Так в обоих моих приложениях build.gradle И в

node_modules/ реагируют родной-fbsdk/ Android/build.gradle

Я заменил 27.0.1 с 27.0.0-alpha1 и сборка прошла успешно.

У меня та же проблема, и я решил с:

  1. редактировать package.json и я редактирую react-native-fbsdk от react-native-fbsdk": "0.6.3" в react-native-fbsdk": "0.6.0"

  2. перейти к вашей node_modules/react-native-fbsdk/android/build.gradle, открыть build.gradle file.

  3. + Изменить compile('com.facebook.android:facebook-android-sdk:4++') в compile('com.facebook.android:facebook-android-sdk:4.22.1'),

но я не знаю, если это лучший способ решить эту проблему, спасибо

build.gradle --- приложение

dependencies {
    compile 'com.facebook.react:react-native:+' // support react-native-v0.22-rc+
    compile('com.facebook.android:facebook-android-sdk:4.+')
}

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


Solution:

How to fix the file permissions, after loading end react-native start

First, Go to android folder

cd android

Now clean the project...

gradlew clean //for Mac users, change gradlew to ./gradlew

Now run the build process again in the root folder 
cd ..
react-native run-android

Solved Issue Happy Coding!
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"

Поместите приведенный выше скрипт в корень вашего реактивного проекта, добавьте ему разрешения на выполнение, затем в package.json в свойстве postinstall add ./your-script-name.sh;, Пример:

{
  "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;"
  },
  [..]
}

Если вы не знакомы со сценариями postinstall, они запустятся сразу после выполнения команды npm install / yarn.

Предлагаемое решение работает с инструментами облачной сборки:) и это только временно. Будущие выпуски rn-fbsdk должны решить эту проблему.

Другие вопросы по тегам