AndroidアプリにFirebaseを使用していますが、アプリを実行しようとすると突然エラーが発生します。土曜日は完全に機能していました。このエラーがどのように発生し、どうやってこれを解決してください。助けてください。
私のbuild.gradleの依存関係
dependencies {
compile('com.crashlytics.sdk.Android:crashlytics:2.5.2@aar') {
transitive = true;
}
compile 'com.Android.volley:volley:1.0.0'
compile 'com.Android.support:appcompat-v7:23.4.0'
compile 'com.Android.support:cardview-v7:23.4.0'
compile 'com.facebook.Android:facebook-Android-sdk:4.1.0'
compile 'com.google.code.gson:gson:2.8.4'
compile 'com.Android.support:multidex:1.0.3'
compile 'com.Microsoft.Azure:azure-mobile-Android:3.1.0'
compile 'com.mixpanel.Android:mixpanel-Android:4.8.0'
compile 'com.firebase:firebase-client-Android:2.4.0'
compile 'com.google.firebase:firebase-core:16.0.0'
compile 'com.google.firebase:firebase-auth:16.0.1'
compile 'com.Android.support:support-v4:23.4.0'
compile 'com.Android.support:design:23.4.0'
compile 'com.j256.ormlite:ormlite-Android:4.48'
compile 'com.j256.ormlite:ormlite-core:4.48'
compile 'com.Android.support:recyclerview-v7:23.4.0'
compile 'com.github.tibolte:elasticdownload:1.0.+'
compile 'me.dm7.barcodescanner:zxing:1.8.4'
compile 'com.google.Android.gms:play-services-vision:15.0.2'
compile 'com.Android.support.constraint:constraint-layout:1.1.1'
compile 'com.github.amlcurran.showcaseview:library:5.4.3'
compile 'com.wang.avi:library:2.1.3'
testCompile 'junit:junit:4.12'
androidTestCompile 'com.jayway.Android.robotium:robotium-solo:5.6.0'
androidTestCompile 'com.Android.support.test:rules:1.0.2'
}
apply plugin: 'com.google.gms.google-services'
私のプロジェクトレベルのbuild.gradle:
dependencies {
classpath 'com.Android.tools.build:gradle:2.2.2'
classpath 'com.google.gms:google-services:4.0.0'
}
私が得ているエラー:
Com.google.Android.gms:play-services-base:[15.0.1,16.0.0)に一致するバージョンが見つかりませんでした。
他のどのプロジェクトよりも先に、プロジェクトレベルのbuild.gradleにgoogle()
リポジトリがあることを確認してください。
allprojects {
repositories {
google()
mavenLocal()
jcenter()
}
}
アップデート後に同じ問題が発生しました。最新のビルドツールとGoogleリポジトリのバージョンがインストールされているかどうかを確認してください。
また、プロジェクトの_build.gradle
_でgoogle()
を使用していることと、ビルドツールのバージョン。 _build.gradle
_を確認した後、プロジェクトを再同期、クリーンアップ、再ビルドしてみてください。
必要に応じて、プロジェクトの依存関係を最新バージョンに更新してください。
_buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.1.3'
}
// ...
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
_
この行をbuild.gradleに追加します
apply plugin: 'com.google.gms.google-services'
// Work around for onesignal-gradle-plugin compatibility
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
または
googleServices.disableVersionCheck = true
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.google.Android.gms:play-services-auth:16.0.1'
}
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
このbuild.gradleでこの問題を解決しました[Proyect]
buildscript {
ext.kotlin_version = '1.2.30'
repositories {
google()
jcenter()
maven {
url 'https://dl.bintray.com/Android/android-tools'
}
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.2.0'
}
}
私の特別なケースでは十分でした(gms:v15.0.1
およびfirebase:v16.0.1
)。
考えられる理由は
解決 :
上記の回答に加えて、プロジェクトレベル内にmavenLocal()
を追加することを忘れないでくださいbuild.gradle
allprojects {
repositories {
......
......
mavenLocal()
}
}
これは、サービスが一時的に利用できないときに、キャッシュされた依存関係にアクセスするのに役立ちます
突然、プロジェクトに変更を加えないと、エラーが発生しました。
エラー: ':app @ debug/compileClasspath'の依存関係を解決できません:com.google.Android.gms:play-services-location:[15.0.0、16.0.0)を解決できませんでした。
プロジェクトレベルのbuild.gradle
buildscript {
ext.kotlin_version = '1.3.21'
repositories {
google()
jcenter()
maven {
url 'https://dl.bintray.com/Android/android-tools'
}
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.3.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.2.0'
}
そして
allprojects {
repositories {
google()
mavenCentral()
jcenter()
maven { url 'https://google.bintray.com/exoplayer/' }
}
}
上記の設定では、運がありませんでした。
以下は私のために働いたものです私は問題がonesignalにあることを発見しました
Exclude句を依存関係に追加しました。
implementation ('com.onesignal:OneSignal:3.10.5') {
exclude group: 'com.google.Android.gms'
}
次に、不足している依存関係を手動で追加しました。 exclude句を追加した後、com.google.firebase:firebase-messaging:[10.2.1、12.1.0)を解決できませんでした。他に不足している依存関係を見つけた場合は、以下のようにしてください。
モジュールレベルで私が置き換えたbuild.gradle
implementation 'com.google.firebase:firebase-messaging:17.4.0' with
implementation 'com.google.firebase:firebase-messaging:10.2.1'
そして最後にビルドが正常に完了しました。私はこれでほぼ5時間を無駄にしました。これが誰かを助けることを願っています。
オプション1:
以下の手順に従って解決してください。
プロジェクトレベルのbuild.gradle
使用
maven { url "https://www.jitpack.io" }
の代わりに
maven { url "https://jitpack.io" }
オプション2:
以下の手順に従って解決してください。
Step1:
プロジェクトレベルのbuild.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.google.gms:google-services:4.2.0' // google-services plugin
classpath 'com.Android.tools.build:gradle:3.4.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven { url "http://dl.bintray.com/populov/maven" }
maven { url "https://jitpack.io" } // For Ucrop
maven { url "https://maven.google.com" } // Google's Maven repository - FCM
maven {
url 'https://dl.bintray.com/azeesoft/maven'
}
google()
jcenter()
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Step2:
アプリレベルのbuild.gradle
One Signalのバージョンを更新しました。
使用
implementation 'com.onesignal:OneSignal:3.11.1'
の代わりに
implementation 'com.onesignal:OneSignal:3.10.9'
私の場合、すべてが正常に機能していましたが、次の「実行アクション」で突然この問題に遭遇しました!
とにかく、問題はproject build.gradleファイルのcom.google.gms:google-services
をその最新バージョンに以下のように更新することで解決されます。
buildscript {
repositories {
jcenter()
mavenLocal()
mavenCentral()
maven {
url 'https://maven.google.com/'
name 'Google'
}
google()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.4.2'
classpath 'com.google.gms:google-services:4.3.0'
}
}
allprojects {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
maven { url "https://jitpack.io" }
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
また、次のことを確認してください。
-オフラインモードではありません。
-そしてHttp Proxyを使用している場合は、Googleリポジトリに接続できます。
注(上記のサンプル):
Android Studio:3.4.2
compileSdkVersion 28
targetSdkVersion 28