Firebaseクラウドストレージを私のアプリに追加しようとしています。以下はアプリbuild.gradleです。しかしそれは言う:解決に失敗しました:com.google.firebase:firebase - コア:16.0.1。どうして?依存関係にfirebase-coreはまったくありません。
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 27
defaultConfig {
applicationId "com.louise.udacity.mydict"
minSdkVersion 15
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
implementation 'com.google.firebase:firebase-storage:16.0.1'
implementation 'com.google.firebase:firebase-auth:16.0.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.2'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.cloud:google-cloud-storage:1.31.0'
implementation 'com.firebase:firebase-jobdispatcher:0.8.5'
}
apply plugin: 'com.google.gms.google-services'
ドキュメントから: -
Firebaseサービスが期待どおりに機能するためには、アプリのGradleファイルで
com.google.firebase:firebase-core
を依存関係として明示的にリストする必要があります。
追加:
implementation 'com.google.firebase:firebase-core:16.0.1'
そして最上位レベルのGradleファイルでは、最新版のGoogle Playサービスを使用してください。
classpath 'com.google.gms:google-services:4.0.2'
https://firebase.google.com/support/release-notes/Android
https://bintray.com/Android/android-tools/com.google.gms.google-services
注:
Firebaseのドキュメントで指定されているように、google()
リポジトリをトップレベルのgradleファイルに追加する必要があります。また、jcenter()
の前にある必要があります。
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.1.3'
classpath 'com.google.gms:google-services:4.0.2'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
ルートレベルのbuild.gradleファイルにmaven {url " https://maven.google.com "}を追加します
repositories {
maven { url "https://maven.google.com" }
flatDir {
dirs 'libs'
}
}
2018年5月23日更新 以降、firebase依存関係を使用している場合は、firebase-core
依存関係も含める必要があります。
それを追加しても、まだエラーが発生しています。gradle-wrapper.properties
のgradleプラグインを4.5バージョンに更新しようとしています。
distributionUrl=https\://services.gradle.org/distributions/gradle-4.5-all.Zip
プロジェクトを再同期します。
私は同じ問題を得、私はそれを置き換えることによってそれを解決しました:
implementation 'com.google.firebase:firebase-core:16.0.1'
に
implementation 'com.google.firebase:firebase-core:15.0.2'
そしてすべてが解決し、うまくいった。
@Peter Haddadが前述したように、
この問題を解決するために、私はGoogle Firebaseの統合ガイドラインに従い、私のapp/build.gradleとproject/build.gradleに以下の変更を加えました
疑問がある場合は、下記のリンクに従ってください。
https://firebase.google.com/docs/Android/setup
app/build.gradleの変更
implementation 'com.google.Android.gms:play-services-base:15.0.2'
implementation "com.google.firebase:firebase-core:16.0.1"
implementation "com.google.firebase:firebase-messaging:17.4.0"
プロジェクトの変更/ build.gradle
repositories {
google()
jcenter()
mavenCentral()
maven {
url 'https://maven.fabric.io/public'
}
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.1.4'
classpath 'com.google.gms:google-services:4.2.0'// // google-services plugin it should be latest if you are using firebase version 16.0 +
}
allprojects {
repositories {
google()// add it to top instead of bottom or somewhere in middle
mavenLocal()
mavenCentral()
maven {
url 'https://maven.google.com'
}
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/Android"
}
}
}
これはめったにありませんが、次の手順で、プロジェクトのオフラインオフラインモードを有効にし、オフラインモードを無効にする可能性があります。
これでうまくいかない場合は、Logcatのレスポンスを説明するコメントを残してください。
私はこれらのステップに従うことによって問題を解決することができました -
1.)プロジェクトをFirebaseに接続しなかった場合にこのエラーが発生します。 Android Studioバージョン2.2以降を使用している場合は、 [ツール] - > [Firebase] から実行します。
2.)dependencies in app/build.gradle
のcompile
をimplementation
に置き換えたことを確認してください。
3.)firebaseのドキュメントからあなたのfirebaseの依存関係を含めてください。すべてうまくいったはずです
ライブラリモジュールでFirebaseを使用する場合は、アプリモジュールに加えてGoogle Play Services Gradleプラグインを適用する必要がありますが、バージョン4.2.0(および4.1)にも注意する必要があります。 0)壊れていて、代わりにバージョン4.0.2を使う。
これが問題です: https://github.com/google/play-services-plugins/issues/22
あなたが使用している場合
compileSdkVersion 23
アプリレベルでの評価
classpath 'com.Android.tools.build:gradle:2.1.0'
これで、プロジェクトレベルでの作業が完了し、プロジェクトにgoogle-services.jsonファイルが追加されました。
あなたはすぐ下のコードを追加する必要があります
maven {
url "https://maven.google.com"
}
プロジェクトレベルのGradleファイルのリポジトリブロック内のjcenter()の下にあるのが、私のgradleファイルです。
プロジェクトレベルのGradleファイル:
buildscript {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
dependencies {
classpath 'com.Android.tools.build:gradle:2.1.0'
classpath 'com.google.gms:google-services:4.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
アプリレベルのGradleファイル
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.example.moslem.amazonlikeapp"
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.Android.support:appcompat-v7:23.3.0'
compile 'com.google.firebase:firebase-core:16.0.1'
}
apply plugin: 'com.google.gms.google-services'
私の場合は、compileSdkVersionとtargetSdkVersionを26から27に変更することで解決しました。