ネイティブのAndroidでビルドエラーが起きる?
Flutterでは問題ないけど?
ネイティブのAndroidをキャッチアップすることになった!
で、ビルドしようとすると以下のエラーが発生する?
/Users/hashimotojunichi/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.7.10/bac80c520d0a9e3f3673bc2658c6ed02ef45a76a/kotlin-stdlib-common-1.7.10.jar!/META-INF/kotlin-stdlib-common.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.5.1.
Flutterのときは、Androidでビルドできるのになぜ?
💉解決方法
Chat GPTくんに聞いてみて、ヒントをもらい解決した!
ご提示いただいた情報に基づくと、以下の2つの build.gradle
ファイルがあります:
-
プロジェクトレベルの
build.gradle
:
これはプロジェクト全体の設定や全モジュールに適用されるプラグインのバージョン情報が含まれています。このファイルには、Kotlinのバージョン(1.5.30
)が指定されています。 -
モジュールレベルの
build.gradle
:
このファイルは、特定のアプリケーションモジュールの設定や依存関係が記述されています。特定のアプリやライブラリのビルド設定や依存関係を定義します。
最初のエラーメッセージに基づくと、プロジェクトで使用しているKotlinのバージョン(1.5.30)と、kotlin-stdlib-common
ライブラリのバージョン(1.7.10)が互換性がないため問題が生じています。
解決策として、プロジェクトレベルの build.gradle
で指定されているKotlinのバージョンを1.7.10またはそれ以降の互換バージョンに更新することをおすすめします。
// プロジェクトレベルの build.gradle
plugins {
id 'com.android.application' version '7.1.3' apply false
id 'com.android.library' version '7.1.3' apply false
id 'org.jetbrains.kotlin.android' version '1.7.10' apply false // この行を変更
}
変更後、Android Studioの「Sync Now」をクリックするか、ターミナルで ./gradlew clean build
を実行して変更を適用し、ビルドを行ってください。
もし他にも問題が発生する場合、その他のKotlin関連のライブラリのバージョンも更新する必要があるかもしれません。
このファイルのコードを編集
変更前
変更後
無事ビルドできました!
まとめ
build.gradleを編集して、Kotlinのバージョンを合わせることでエラーを解決することができました。ビルドできない原因は、古いバージョンのKotlinを使う指定をしているからでした。
Discussion