本記事では、Android Studioにて、Kotlinでアプリを作成しようとした際に起きたビルドエラーと、その解消方法を紹介します。
実行環境
- Windows10
- Android Studio Giraffe
前提
今回は、以下のようにテンプレートを選んでいます。
New Project > Empty Activity
古いバージョンのAndroid Studioだと、Empty Compose Activityと表示されるようです。
参考:
Why empty compose activity not found in Android Studio Flamingo | 2022.2.1 – Stack Overflow
エラー内容
今回は、テンプレートを使用して作成したプロジェクトを、特に編集することもなくビルドしただけです。通常は、ビルドが完了して、アプリを起動すると、Hello Worldが表示されるはずです。しかし、以下のようなエラーが発生してしまいました。
調べてみたところ、他にも困っている方はおり、割とよくあるエラーのようです。
3つも問題があるの?とあたふたしましたが、よく見るとほとんど同じ内容が3回繰り返されています。Recommended action(推奨するアクション)まで丁寧に教えてくれています。
3 issues were found when checking AAR metadata:
1. Dependency 'androidx.activity:activity:1.8.1' requires libraries and applications that
depend on it to compile against version 34 or later of the
Android APIs.
:app is currently compiled against android-33.
Also, the maximum recommended compile SDK version for Android Gradle
plugin 8.1.0 is 33.
Recommended action: Update this project's version of the Android Gradle
plugin to one that supports 34, then update this project to use
compileSdk of at least 34.
Note that updating a library or application's compileSdk (which
allows newer APIs to be used) can be done separately from updating
targetSdk (which opts the app in to new runtime behavior) and
minSdk (which determines which devices the app can be installed
on).
2. Dependency 'androidx.activity:activity-ktx:1.8.1' requires libraries and applications that
depend on it to compile against version 34 or later of the
Android APIs.
:app is currently compiled against android-33.
Also, the maximum recommended compile SDK version for Android Gradle
plugin 8.1.0 is 33.
Recommended action: Update this project's version of the Android Gradle
plugin to one that supports 34, then update this project to use
compileSdk of at least 34.
Note that updating a library or application's compileSdk (which
allows newer APIs to be used) can be done separately from updating
targetSdk (which opts the app in to new runtime behavior) and
minSdk (which determines which devices the app can be installed
on).
3. Dependency 'androidx.activity:activity-compose:1.8.1' requires libraries and applications that
depend on it to compile against version 34 or later of the
Android APIs.
:app is currently compiled against android-33.
Also, the maximum recommended compile SDK version for Android Gradle
plugin 8.1.0 is 33.
Recommended action: Update this project's version of the Android Gradle
plugin to one that supports 34, then update this project to use
compileSdk of at least 34.
Note that updating a library or application's compileSdk (which
allows newer APIs to be used) can be done separately from updating
targetSdk (which opts the app in to new runtime behavior) and
minSdk (which determines which devices the app can be installed
on).
ビルドエラーの解決方法
1. targetSdk, compileSdkを33から34に変更する
上のエラーで推奨されているように、
Gradle Scripts>build.gradle.kts
を開いて、写真の33の部分を34に変更します。
2. targetAppをもう一か所変更する
先ほどの対処でビルド自体は問題なく成功しましたが、こちらにもtargetAppがありますので、34に変更しておきます。
3. 修正を反映する
- エディタ画面に出てくるSync Now
- File>Sync Project with Gradle Files
のどちらかを押すことで、上で行った修正を反映させましょう。
これで正常にビルドできるはずです!あとは通常通りにアプリを実行すれば良いです。
コメント