New Project
Template選択
Empty Activityを選択
Minumum SDK の初期値はAPI24(Android 7.0)のようですが、ここではAPI30(Android 11.0)を指定
※ Jetpack Composeの最低APIレベルは21(Android 5.0)だそうです
https://developer.android.com/jetpack/compose/setup
Build configration languageでbuild.gradle.ktsが選択できるようになりました
せっかくなのでGradle Version Catalogsを使ってみることにしました
Gradle Version Catalogsは複数のモジュールがある場合依存関係とプラグインを簡単に管理できるとのことです
https://developer.android.com/studio/build/migrate-to-catalogs?hl=ja
Settings の確認
Gradle JDK / Kotlin Compiler
プロジェクトが読み込まれるまで待ちます
メニューからFile – Settings を開きます
Kotlin Complier version / Language vertion / API versionを1.9
Target JVM version 17
Kotlin migrationのポップアップがでるのでとりあえず実行します
Project Structuer 設定
基本的には最新を指定
build.gradleに直接設定でも良いが、Project Structureで設定できる項目はなるべくそれで設定する方針
Gradle
Android Gradle Plugin Version はlibs.versions.tomlで設定されている値、 Gradle Version を8.2.1に指定
SDK/Java バージョン
PropertiesタブのCompile – Compile SDK Version を34、Source – Terget Compatibility をJava17に指定
※ Java17はプルダウンに表示されませんので手入力で$JavaVersion.VERSION_17に変更
Default ConfigタブのTarget SDK Version を34に変更
ライブラリの更新
SuggesionsでappのUpdateボタンが出ているものをすべて更新
compose-bomが使用されるようになっていますので個別にバージョンの設定はしません
※ BOM(Bill of Materials)は依存関係を管理します
https://developer.android.com/jetpack/compose/bom/bom?hl=ja
build.gradle
build.gradle.kts(Module)
今回はkotlin1.9.0を使用するのでkotlinCompilerExtensionVersionを1.5.1にします
バージョンの組み合わせの確認は以下で確認してください
https://developer.android.com/jetpack/androidx/releases/compose-kotlin
https://androidx.dev/storage/compose-compiler/repository
android {
composeOptions {
kotlinCompilerExtensionVersion = "1.5.1"
}
}
jvmTargetを17に変更します
今回はktsを使用しているため文字はダブルコーテーションでくくります
android {
kotlinOptions {
jvmTarget = "17"
}
}
または以下の指定ができました
kotlin {
jvmToolchain(17)
}
lib.versions.toml
kotlinのversionを1.9.0に変更します
[versions]
org-jetbrains-kotlin-android = "1.9.0"
初期動作確認
ビルドしてProblemsタブに何も出ないことを確認
エミュレータで起動することも確認
Android Studio Giraffe 2022.3.1 built on June 29, 2023