🚀 工欲善其事,必先利其器。跟着小火箭一起搭建稳定、高效的 Compose 开发环境吧!
| 版本代号 | 版本号 | Compose 支持 | 推荐指数 |
|---|---|---|---|
| Hedgehog 🦔 | 2023.1.1 | ✅ 完整支持 Compose 1.5+ | ⭐ 推荐 |
| Iguana 🦎 | 2023.2.1 | ✅ 内置 Compose 1.6+ 模板 | ⭐ 最新稳定 |
| Jellyfish 🪸 | 2024.1+ (预览) | ✅ 支持 K2 编译器 & Compose 1.7 | 🔄 尝鲜 |
| Ladybug 🐞 | 2024.2+ (Canary) | ✅ 最新 Compose 2.0 实验 | 🧪 实验 |
在项目级 build.gradle.kts 或 build.gradle 中声明:
// 项目级 build.gradle.kts
plugins {
id("com.android.application") version "8.3.0" apply false
id("org.jetbrains.kotlin.android") version "1.9.22" apply false
// Compose 编译器插件 (Kotlin 1.9+ 内置, 但可显式指定)
id("org.jetbrains.kotlin.plugin.compose") version "1.9.22" apply false
}
// 模块级 build.gradle.kts
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("org.jetbrains.kotlin.plugin.compose") // 启用 Compose 编译器插件
}
android {
compileSdk = 34
buildFeatures {
compose = true
}
}
dependencies {
// BOM 统一管理 Compose 版本
val composeBom = platform("androidx.compose:compose-bom:2024.02.00")
implementation(composeBom)
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.material3:material3")
implementation("androidx.compose.ui:ui-tooling-preview")
debugImplementation("androidx.compose.ui:ui-tooling")
}
kotlin.plugin.compose,不再需要 composeOptions { kotlinCompilerExtensionVersion }。org.jetbrains.kotlin.plugin.compose 版本与 Kotlin 一致。HelloCompose,包名:com.example.hellocompose,语言选择 Kotlin,最低 SDK 24+。MainActivity.kt,你会看到类似下面的代码:
package com.example.hellocompose
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Greeting("Compose")
}
}
}
@Composable
fun Greeting(name: String) {
Text(text = "Hello, $name! 🎉")
}
--no-daemon 重试。@Preview 注解实时查看 Composable。