Edited at

【小ネタ】Androidビルドでfirebase-core:16.0.5を使うとエラー (2018/11/10)


はじめに

未来には解決しているかもしれませんが

本日2018年11月10日、軽い気持ちでAndroidのFirebaseバージョンを最新版にあげたらビルドエラーになりました。


app.gradle

:

dependencies {
:
//Firebase
implementation 'com.google.firebase:firebase-core:16.0.5'
implementation 'com.google.firebase:firebase-ads:17.1.0'
implementation 'com.google.firebase:firebase-auth:16.0.5'
implementation 'com.google.firebase:firebase-config:16.1.0'
:


スクリーンショット 2018-11-10 12.21.21.png


解決編

まずログ確認。

Program type already present: com.google.android.gms.internal.measurement.zzdz というエラー。

依存関係ぽいので以下コマンドで依存関係を確認。

$ ./gradlew :app:dependencies > dependencies.txt

たしかにmeasurement関連で依存問題起きているっぽいのですが解決せず。

com.google.android.gms:play-services-measurement-base:[16.0.4] -> 16.0.4

:
com.google.android.gms:play-services-measurement-base:[16.0.3] -> 16.0.4

Webサイトで最新バージョンを確認しました。

Firebase Android Release Notes

https://firebase.google.com/support/release-notes/android#latest_sdk_versions

スクリーンショット 2018-11-10 11.36.21.png

firebase-coreの最新版は16.0.5でなく16.0.4!

16.0.4にバージョンダウンしたらビルドエラーはなくなりました。


教訓


  • AndroidStudioの警告に従っても最新版バージョンが合わないことがある

  • ライブラリはリリースノートでバージョン確認する

  • ライブラリのバージョンがわかるものをコメントに書くと良い

スクリーンショット 2018-11-10 12.25.48.png