最新バージョンのライブラリがAndroidXのサポートライブラリに依存する


現在の導入手順に従って、最新のfirebase-coreのライブラリ

implementation 'com.google.firebase:firebase-core:17.0.0'

を入れると、利用しているSupport Library次第ではAndroidXのSupport Libraryが必要と叱られます。

manifest merger failed : attribute application@appcomponentfactory value=(android.support.v4.app.corecomponentfactory) from [com.android.support:support-compat:28.0.0] androidmanifest.xml:22:18-91

firebaseのライブラリに限らず、AndroidXのSupport Libraryに依存するライブラリバージョンが出始めていて、これからはAndroidXのSupport Libraryがメンテ対象となるようです。特別な理由がない限り利用するSupport LibraryをAndroidXに入れ替えたほうがいいと思います。

私の環境では以下の操作1つで簡単に入れ替えが出来ました。途中でZipのバックアップを取るか?と質問があるので、チェックをつけてバックアップを作成しておきましょう。

f:id:letitride:20190701112340p:plain:h400

また、理由があってAndroidXのSupport Libraryを導入できない場合は依存しているライブラリのバージョンを下げるとビルド出来る場合があります。

firebase-coreの場合、敢えて17.0.0を使わずに16.0.8を使用するとビルド可能となる場合があります。

implementation 'com.google.firebase:firebase-core:16.0.8'