web-dev-qa-db-ja.com

react-native-fb sdkcom.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

この問題は、コードに変更を加えたり、新しいパッケージを追加したりせずに、react-native run-Androidを実行したときに今朝発生し始めました。これまでは、正常に機能していました。

"react-native": "0.50.3"、 "react-native-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 repositoryhttps://dl.google.com/dl/Android/maven2/index.html )がたとえばm2repository/com/Android/support/appcompat-v727.0.2という名前のフォルダーが必要です(以前のバージョンもいくつかあります)が、提供されている最新のAndroid_m2repositoryでもそれも欠けています!

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

8
razbard

私も同じ問題を抱えています。更新することで正常にビルドできました
ROOT:Android/build.gradleファイル。

ステップ:
1。 maven.google.commavenセクションに新しいallprojects行を追加するだけです。
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"
        }
      }
  }
16
Syed Zain Ali

これとまったく同じ問題で別のスレッドが開いていることがわかります: react-native run-Androidの実行時にエラーが発生します

そこに推奨される解決策は、Sutaniに近いもの、つまり_node_modules/react-native-fbsdk/Android/build.gradle_を編集して追加することです。

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

これはreact-native-fbsdkによって導入されたリグレッションではなく、Google Androidライブラリによって導入されたもののようですが、100%明確ではありません。

6
Philippe Cohen

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

私は同じ問題を抱えています、そして私はで解決しました:

  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')に変更します。

しかし、これがこの問題の最善の方法かどうかはわかりません、ありがとう

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"

上記のスクリプトをreact-nativeプロジェクトのルートに配置し、実行権限を追加してから、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;"
  },
  [..]
}

インストール後のスクリプトに慣れていない場合は、npm install/yarnコマンドを実行した直後に実行されます。

提案されたソリューションはクラウドビルドツールで動作します:)そしてそれは一時的なものです。将来のrn-fbsdkリリースで問題が修正されるはずです。

0
WebRaptor

重要なのは、ケースに表示されるエラーメッセージです。

次の場所で検索: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/

そして、私の場合、最新のbuildToolがダウンロードされなかったため、27.0.1という名前のディレクトリがないことがわかりました。私の場合、私は27.0.0-alpha1を持っていました。

だから私のアプリbuild.gradle

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

27.0.127.0.0-alpha1に置き換えたところ、ビルドは成功しました。

0
Himel Nag Rana