はじめに
Androidで開発をしていて、よくある問題として何かしらのライブラリをgradleで読み込み実行すると、kotlinのバージョンンコンフリクト系のエラーが発生する場合がある。ので見解
ちょっと調べたのでメモ程度に残しておきます
原因
いろいろな理由があるのかも知れないが、まずライブラリのkotlinのバージョンとコンフリクトを起こしている場合に起きえます。
その場合は、そもそもライブラリを使うのを諦めるか、ライブラリのバージョンを古いものを使ってみるか、ライブラリを組み込むアプリのkotlinバージョンをアップしてみるかなどよくわからずに適当に試行錯誤して解決することが多いです。
kotlinライブラリのコンフリクト
kotlinのライブラリを読み込むとkotlinのライブラリがアプリ側に読み込まれます。
その分apkのサイズとメソッド数は増加します。multi dexが必要かも。
アプリ側に読み込まれたkotlinライブラリとアプリ側のkotlinのバージョンでコンフリクトが起きる場合があるようです。
gradleの使用は下記を参考ください。kotlinバージョンでコンフリクトが発生した場合は新しいバージョンで上書きがされます。デフォルトの挙動なのでここを最新で上書きしないような設定をgradleファイルで行っても解決するはずです。(未確認)
解決方法
アプリ側で最新の実装するライブラリと同じバージョンにする。またはそれ以上にすると解決する可能性があります。
ライブラリとアプリ開発が同じ場合は問題なく実装できますが、大体の場合でライブラリは別企業か別の個人が実装しているはずです。そのためライブラリを作る人は常に最新のkotlinでバージョンアップをしてドキュメントにも最新のkotlinを利用するように促すことが必要なのではないでしょうか。
またはライブラリはkotlinではなくjavaで実装を行うとアプリ側にkotlinライブラリが読み込まれることはないためこの問題は発生しないはずです。はずです。