はじめに
様々な理由から現在でもAndroid13対応が終わりきっていないプロジェクトもあるのではないでしょうか?
そんな中でバージョンアップによりJDKの依存関係でビルドエラーになることがあります。
今回は上記が理由でビルドエラーとなった場合の対処法をまとめておこうと思います。
依存関係によるビルドエラー対処法
まず、エラーの内容は以下です。
Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.21)
Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.21)
上記エラーを解消するには、gradleに以下を追加する必要があります。
app/build.gradle
configurations.implementation {
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7'
}
以上になります。
今回のエラーはJDK7、8の依存関係でエラーとなっていますが、今後別のバージョンで同じエラーとなる可能性があります。
その場合は同じように追記すれば問題ありません。
さいごに
Firebase Dynamic Linksがサービス終了するらしいですねー