web-dev-qa-db-fra.com

react-native-fb sdk erreur de dépendance 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

Ce problème a commencé à se produire ce matin lors de l'exécution de réact-native run-Android sans apporter de modifications au code ni ajouter de nouveaux packages, cela fonctionnait très bien jusqu'à maintenant!

"react-native": "0.50.3", "react-native-fbsdk": "0.6.3"

Je peux voir que je manque Android support libraries dans mes sous-dossiers sdk/extras/Android/m2repository/com/Android/support, tous les sous-dossiers ont le dernier dossier 26.0.0-alpha1 . J'ai déjà essayé de supprimer le référentiel de support et de l'installer à nouveau via Android Studio et de télécharger le dernier Android_m2repository manuellement, mais les dossiers sont toujours manquant.

Ce que j’ai du mal à comprendre, c’est pourquoi google's maven repository ( https://dl.google.com/dl/Android/maven2/index.html ) indique qu’en vertu de par exemplem2repository/com/Android/support/appcompat-v7 je devrais nommer un dossier 27.0.2 (avec certaines versions précédentes qui manquent également), mais même dans le dernier référentiel Android_m2 qu’ils proposent, il manque aussi!

https://dl.google.com/Android/repository/Android_m2repository_r48.Zip

7
razbard

J'ai aussi le même problème. J'ai pu construire avec succès en mettant à jour mon
ROOT: Android/build.gradle fichier. 

PAS :
1. Tout ce que vous avez à faire est d’ajouter une nouvelle ligne maven à la section allprojects pour maven.google.com
2. Ajouter resolutionStrategy Limitera votre version de fbsdk Android à 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"
        }
      }
  }
16
Syed Zain Ali

build.gradle --- app

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!
0
Keshav Gera

j'ai le même problème, et j'ai résolu avec:

  1. éditer package.json et je suis éditer react-native-fbsdk de react-native-fbsdk": "0.6.3" à react-native-fbsdk": "0.6.0"

  2. allez dans votre node_modules/react-native-fbsdk/Android/build.gradle. ouvrir build.gradle file.

  3. Remplacez compile('com.facebook.Android:facebook-Android-sdk:4++') par compile('com.facebook.Android:facebook-Android-sdk:4.22.1'),

mais je ne sais pas si c'est le meilleur moyen de résoudre ce problème, merci.

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"

Placez le script ci-dessus à la racine de votre projet natif de réaction, ajoutez-lui des autorisations d'exécution, puis dans package.json, dans le répertoire postinstall property add ./votre-nom_script.sh; . Ex:

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

Si vous n'êtes pas familier avec les scripts postinstall, ils seront exécutés immédiatement après l'exécution de la commande npm install/yarn.

La solution proposée fonctionne avec les outils de création de cloud :) et n’est que temporaire. Les futures versions de rn-fbsdk devraient résoudre le problème.

0
WebRaptor

La clé est dans le message d'erreur affiché dans votre cas:

Recherche dans les lieux suivants: file:/<location_to_sdk>/sdk/extras/Android/m2repository/com/Android/support/appcompat-v7/27.0.1/

J'ai eu le même. Puis je suis allé à l'emplacement:

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

Et constaté qu’il n’existait pas de répertoire nommé 27.0.1 car, dans mon cas, le dernier outil de génération n’était pas téléchargé. Dans mon cas, j'ai eu 27.0.0-alpha1.

Donc, dans mon application build.gradle et dans 

node_modules/react-native-fbsdk/Android/build.gradle

J'ai remplacé 27.0.1 par 27.0.0-alpha1 et la construction a réussi.

0
Himel Nag Rana