Android Studio Electric Eel で KMM プロジェクトテンプレートが消えてる件

Android Studio Electric Eel に更新しました。

KMM プロジェクトテンプレートが消えてます。

以前は、以下のようにありました。

たまらず、kdoctor


❯ kdoctor
[✓] Operation System
[✓] Java
[✓] Android Studio
[✓] Xcode
[✓] Cocoapods

Conclusion:
  ✓ Your system is ready for Kotlin Multiplatform Mobile Development!

いけてます。

あれ、どうだったけか。

👉 【KMM】KDoctor って生きてるの? hatena-bookmark

 

📱 Kotlin Multiplatform Mobile プラグインを再度入れる

プラグインが更新時に消えてますね。

JetBrains Marketplace のサイトから Android Studio にプラグインをインストールしてるがどうかを確認できます。

ブラウザ上で右上のボタンからです。

👉 Kotlin Multiplatform Mobile - Android Studio Plugin | Marketplace hatena-bookmark

または、Android Studio 内、設定のプラグイン画面からインストールします。

インストール後は、Android Studio を再起動すると、KMMテンプレートも表示されるようになります。

しかし、ビルドできません。

JDK 11 を再度設定するといけました。

しかし、iOS側がコケる。

ERROR: JAVA_HOME is set to an invalid directory: /Users/jim/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/Android Studio.app/Contents/jre/Contents/Home

Dolphin の embed JDK のパスが残ってます。


👉 Android Studio Releases List | IntelliJ Platform Plugin SDK hatena-bookmark

ここか。

Xcode Settings - Location - Custom Paths


👉 kmm | #Android ファショ通 hatena-bookmark


Kotlin 1.8 で JetpackCompose を使う

Kotlin を 1.7.21 から 1.8.0 に上げます。


[versions]

# kotlin = "1.7.21"
kotlin = "1.8.0"
compose-compiler = "1.4.0-alpha02"

build します。

はい、エラーでました。


e: This version (1.4.0-alpha01) of the Compose Compiler requires Kotlin version 1.7.21
but you appear to be using Kotlin version 1.7.21 which is not known to be compatible.
Please fix your configuration (or `suppressKotlinVersionCompatibilityCheck` but don't say I didn't warn you!).
https://developer.android.com/jetpack/androidx/releases/compose-kotlin#pre-release_kotlin_compatibility

表示されてるリンクに行きます。

はい、Kotlin 1.8 ありません。

👉 Compose to Kotlin Compatibility Map  |  Android Developers hatena-bookmark

さらに、そのページにあるリンク先へ。

ここにありますね。

👉 Compose Compiler Maven Index hatena-bookmark

さらに、このページにあるリンク先の記述を参考に変更します。


# libs.versions.toml

[versions]

# kotlin = "1.7.21"
# compose-compiler = "1.4.0-alpha02" # composeOptions ↔ kotlin 1.7.21

kotlin = "1.8.0"
compose-compiler = "1.4.0-dev-k1.8.0-33c0ad36f83"


// settings.gradle

dependencyResolutionManagement {
  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
  repositories {
    google()
    mavenCentral()

    maven {
      url "https://androidx.dev/storage/compose-compiler/repository/"
    }


// build.gradle (:app)

composeOptions {
  kotlinCompilerExtensionVersion libs.versions.compose.compiler.get()
}

👉 jimgoog/ComposeAppUsingPrereleaseComposeCompiler: Demonstrates using Compose with pre-releases of KotlinCompiler and ComposeCompiler hatena-bookmark


 

■ まとめ

Kotlin バージョンと Compose Compiler のバージョンは密接に関係しています。

ちなみに、Compose UI 側のバージョンは以前のままの alpha03 (現最新) で、まあまあ良さげです。


[versions]

kotlin = "1.8.0"
compose-compiler = "1.4.0-dev-k1.8.0-33c0ad36f83"
compose-ui = "1.4.0-alpha03"


[libraries]

compose-ui = { module = "androidx.compose.ui:ui", version.ref = "compose-ui" }
compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose-ui" }
compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "compose-ui" }
compose-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "compose-ui" }
compose-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "compose-ui" }


【AndroidStudio】プラグイン Rainbow Brackets が括弧だけでなく 変数 まで色が付くようになる【IDEA】

ネストする括弧を分かりやすく色分けしてくれるプラグイン「Rainbow Brackets」。

👉 IntelliJ IDEA プラグイン「Rainbow Brackets」を使う hatena-bookmark

ついに、変数 (variables) まで色分けしてくれるようになっております。

これが、

こうなる。

少しうざい、括弧だけでいい、という方は、詳細設定できます。

👉 Incompatibility with Semantic highlighting · Issue #2563 · izhangzhihao/intellij-rainbow-brackets hatena-bookmark