今日、プロジェクトの何にも触れなかった後、私のグラドルは私に怒鳴り、プロジェクトをコンパイルしませんでした。 firebase-iid
、firebase-common
、play-services-analytics-impl
、play-services-auth-api-phone
、play-services-auth-base
の解決に失敗しました。だから週末の後でかなり混乱。
そこで、さまざまなAPIのバージョンを確認し、アップグレードが必要なAPIをアップグレードしました。Googleがfirebase-core
に必須の依存関係を追加し、それを追加してから、google-services
プラグインをアップグレードし、さらにplay-services-base
依存関係。また、firebase-messaging
をバージョン17.0.0に、crashlytics
をバージョン2.9.3にアップグレードしました。
しかし、それでもビルドはコンパイルされず、次のエラーメッセージが表示されます。
ライブラリcom.google.Android.gms:play-services-measurement-baseは、[[15.0.2,15.0.2]、[15.0.4,15.0.4]]にある他のさまざまなライブラリによってリクエストされていますが、解決されます15.0.4。プラグインを無効にし、。/ gradlew:app:dependenciesを使用して依存関係ツリーを確認します。
以下は、修正を試みた後のGradleファイルです(依存関係の部分のみを示しています)。
apply plugin: 'com.Android.application'
...
dependencies {
implementation project(':library')
implementation project(':otherlibrary')
implementation 'com.Android.volley:volley:1.1.0'
implementation('org.Apache.httpcomponents:httpmime:4.3.6') {
exclude module: 'httpclient'
}
implementation 'org.Apache.httpcomponents:httpclient-Android:4.3.5'
implementation 'com.google.Android.gms:play-services-base:15.0.1'
implementation 'com.google.Android.gms:play-services-analytics:15.0.2'
implementation 'com.google.Android.gms:play-services-location:15.0.1'
implementation('com.google.Android.gms:play-services-ads:15.0.1') {
exclude group: 'com.Android.support', module: 'customtabs'
}
implementation 'com.google.Android.gms:play-services-identity:15.0.1'
implementation 'com.google.Android.gms:play-services-auth:15.0.1'
implementation 'com.google.Android.gms:play-services-drive:15.0.1'
implementation 'com.google.firebase:firebase-core:16.0.0'
implementation 'com.google.firebase:firebase-messaging:17.0.0'
implementation 'com.Android.support:multidex:1.0.3'
implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.nineoldandroids:library:2.4.0'
implementation 'com.daimajia.slider:library:1.1.5@aar'
implementation 'com.Android.support.constraint:constraint-layout:1.1.0'
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support:mediarouter-v7:27.1.1'
implementation 'com.Android.support:support-v4:27.1.1'
implementation 'com.Android.support:design:27.1.1'
implementation 'com.Android.support:exifinterface:27.1.1'
implementation 'com.Android.support:support-v13:27.1.1'
// https://mvnrepository.com/artifact/com.darwinsys/hirondelle-date4j
implementation group: 'com.darwinsys', name: 'hirondelle-date4j', version: '1.5.1'
// For RxAndroid and RxJava
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
// Because RxAndroid releases are few and far between, it is recommended you also
// explicitly depend on RxJava's latest version for bug fixes and new features.
// (see https://github.com/ReactiveX/RxJava/releases for latest 2.x.x version)
implementation 'io.reactivex.rxjava2:rxjava:2.1.12'
// Crashlytics
implementation 'com.crashlytics.sdk.Android:crashlytics:2.9.3'
// CSV with outputstream writer
implementation 'com.opencsv:opencsv:4.1'
// Gson
implementation 'com.google.code.gson:gson:2.8.5'
debugImplementation 'com.Android.support.test:runner:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.2'
androidTestImplementation 'com.Android.support.test:rules:1.0.2'
androidTestImplementation 'org.hamcrest:hamcrest-library:1.3'
androidTestImplementation 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
そして私のプロジェクト全体のgradleはこれらの行を含みます:
...
repositories {
maven {
url 'https://maven.google.com/'
name 'Google'
}
...
}
dependencies {
...
classpath 'com.google.gms:google-services:4.0.1'
}
...
official firebase documentation に従って複数のライブラリのバージョン番号を修正しようとしましたが、これは この質問 とほぼ同じです。
2018年5月2日の時点で、公式のドキュメントリンクを読むとわかるように、この種の問題を修正する方法が提供されていましたが、問題のバージョンの数は同じではなく、すでに試しました与えられた修正(現在はいくつかのダウングレードあり)。
公式ドキュメント:アプリがcom.google.firebase:firebase-core:15.0.0および次のライブラリのいずれかに依存している場合:
com.google.Android.gms:play-services-analytics com.google.Android.gms:play-services-appinvite com.google.Android.gms:play-services-tagmanager com.google.firebase:firebase-analytics com.google.firebase:firebase-crash com.google.firebase:firebase-dynamic-links com.google.firebase:firebase-messaging
後者の依存関係のバージョンを15.0.2に更新する必要があります。これは、Google Services Gradleプラグインのバージョン3.3.0が報告する問題に対処します。ライブラリcom.google.Android.gms:play-services-measurement-baseは、[[15.0.0,15.0。 0]、[15.0.2,15.0.2]]、ただし15.0.2に解決...
それで、ビルドをもう一度正しくコンパイルするために、これらのバージョンの競合をどのように解決できますか?
そのため、この問題で1日を過ごした後、play-services-analytics
の最新バージョンがではないであることがわかりました- 彼らのウェブサイト 。 16.0.0
ではなく15.0.2
です。
Android Studioは同僚に警告としてそれを伝えましたが、私のことは心配していませんでした。だからここに、すべてを変える行です:
implementation 'com.google.Android.gms:play-services-analytics:16.0.0'
私はこれを自分のbuild.gradle(アプリケーションバージョン)に追加し、うまくいきました:
googleServices { disableVersionCheck = true }
私は古いビルドに戻してみましたが、うまくいったようでした。私が見つけたのは、新しいプロジェクトで使用していた4.6ではなく、gradle-wrapper.properties
が古いバージョン(4.5)を使用していたことです。これを変更するだけでなく、alpha15からclasspath 'com.Android.tools.build:gradle:3.2.0-alpha08'
に戻すとうまくいくようです。必要に応じてアルファ15を使用できますが、classpath 'com.Android.tools.build:gradle:3.1.2'
を使用できることを確認してください。これらすべての変更に加えて、firebase-core
およびgoogle-gms-services
はバージョン16.0.0に設定する必要があります。
残念ながら、Google Playサービスは停止されました。この未亡人のメッセージが生成され、Googleサービスが実行することはありません