よく寝てよく遊びよくサボる

趣味のAndroidアプリ開発の話や、その他諸々の情報について掲載していきます。自らの備忘の面が強いので情報の正確性は保証できませんが、誰かの役に立てば是幸い。

ライブラリのバージョン不整合

ライブラリのバージョンを更新していたら、

implementation 'com.android.support:appcompat-v7:27.1.1'

のところで、次のようなエラー(ワーニング?)が出ました。

 

All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 27.1.1, 26.1.0. Examples include com.android.support:animated-vector-drawable:27.1.1 and com.android.support:customtabs:26.1.0 less... (Ctrl+F1)
There are some combinations of libraries, or tools and libraries, that are incompatible, or can lead to bugs. One such incompatibility is compiling with a version of the Android support libraries that is not the latest version (or in particular, a version lower than your targetSdkVersion).

 

これまで理解できずに、バージョン更新を保留して回避したりしていたのですが(笑)、とあるサイト様に分かりやすい説明が記載されていました。

リンク可否が分からなかったので、リンクは貼っていません。)

 

分かりやすく正確に記載されていたものを、敢えて分かりづらくアバウトに書くのもどうかと思いますが、

要するに、今利用しているライブラリの内部仕様として利用しているライブラリがあって、そのバージョンがズレているので警告されているようです。

今回の場合だと、

'com.android.support:appcompat-v7:27.1.1'の中で

'com.android.support:customtabs:26.1.0'が使われているので、

27.1.1と26.1.0の2つのバージョンが混在していますよ、ということだったようです。

 

これを受けて、

implementation 'com.android.support:customtabs:27.1.1'

という行を追加してあげて、ズレているライブラリのバージョンを他と同じバージョンへ引き上げてあげることで解決しました。