質問: ### 目的 Firebaseのバージョン更新(変更)しようとしています。 訂正しました。 ### 行ったこと。 実際に更新するとビルドエラーが出るようになりました。 ~~10.0.x から 20.0.0にしました。 implementation 'com.google.firebase:firebase-messaging:20.0.0~~ firebaseを(10)から(20)にしました。 play-servicesを(15)から(17)にしました。 ``` implementation 'com.google.android.gms:play-services-auth:17.0.0' implementation 'com.google.firebase:firebase-messaging:20.0.0 ``` そして以下のエラーになりました。 `Program type already present: android.support.v4.app.INotificationSideChannel` 調べた所。 「Androidx」というやつに置き換えられていることがわかりました。そのため、プログラムが重複したようです。 com.android.supportを28にすれば良さそうなんですが、他のアプリとの兼ね合いでまだ控えたいので firebaseをダウングレードしようとしました。 これはFirebaseの版をダウングレードすればいいと思ってたんですが、 Androidxはplay-servicesの版が しかし、適当に戻してもまた別なところで 「Program type already present: 〜〜〜」などのエラーがでそうです。 そこでなんですが、 Firebaseの古いバージョンの一覧が載っているところと、 それが対応している com.google.android.gms:play-servicesのバージョンを調べたいと思いますが、どこかにマニュアルがありますか? Firebaseのリリースノートはこれですが、Androidxに対応以前と以後の境目がよくわからないですし。 Maven repository. なるほど、ここを見ると既存のバージョンがわかりますね。 ~~これはもしかして既に手動で`play-services`のそれぞれのバージョンを記述する必要がなくなったと言うことでしょうか?~~ あるバージョンに対応する依存関係のあるライブラリバージョンがわかれば良い・・・。 com.google.gms:google-services:3.3.1に対応するライブラリのバージョンがわかれば、エラー回避できそう・・・
回答: rocketさんの実現したいことが理解できておらず、この回答が的を射ているかわからないのですが、、 まず、今回発生しているエラーとFirebaseは無関係なのではないかな、と考えています。 `android.support.v4` これはサポートライブラリと呼ばれているものでして、 今まではこれが使われていたのですが、 このサポートライブラリの後継ライブラリがAndroidXです。 サポートライブラリとAndroidXは両方導入することはできません。どちらか一方だけです。 rocketさんはAndroidXを導入したのかな、と想像しています。 使いたい機能がAndroidXに含まれているわけですので、 サポートライブラリの記述はgradleファイルから削除しなければいけません。