⚙️ Android Studio 配置 · Compose 编译器版本 · Gradle 依赖
从 Android Studio Flamingo (2022.2.1) 起,Compose 已深度集成。推荐使用最新稳定版。
创建项目时勾选 “Empty Compose Activity” 模板,或手动为已有项目启用 Compose:
compileSdk ≥ 34buildFeatures { compose = true }| Compose BOM | Compose 编译器 | Kotlin | AGP (建议) |
|---|---|---|---|
| 2024.02.00 | 1.5.10 | 1.9.22 | 8.2.2 |
| 2024.01.00 | 1.5.8 | 1.9.21 | 8.2.1 |
| 2023.10.01 | 1.5.7 | 1.9.20 | 8.1.4 |
| 2023.08.00 | 1.5.4 | 1.9.18 | 8.1.2 |
💡 推荐使用 BOM 统一管理 Compose 版本,避免依赖冲突。
Compose 编译器版本必须与 Kotlin 版本严格匹配。可通过 compose-compiler 扩展或 compose.kotlinCompilerExtensionVersion 设置。
// 模块 build.gradle.kts
android {
composeOptions {
kotlinCompilerExtensionVersion = "1.5.10"
}
}
dependencies {
val composeBom = platform("androidx.compose:compose-bom:2024.02.00")
implementation(composeBom)
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.material3:material3")
}
[versions]
compose-bom = "2024.02.00"
compose-compiler = "1.5.10"
kotlin = "1.9.22"
[libraries]
compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" }
[plugins]
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
在 build.gradle.kts (Module :app) 中配置 Compose、ViewModel 及生命周期依赖。
// app/build.gradle.kts
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android") version "1.9.22"
}
android {
namespace = "com.example.composevm"
compileSdk = 34
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.10"
}
defaultConfig {
minSdk = 24
targetSdk = 34
}
}
dependencies {
// Compose BOM (统一管理所有 Compose 版本)
val composeBom = platform("androidx.compose:compose-bom:2024.02.00")
implementation(composeBom)
// Compose UI 基础
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-graphics")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.compose.material3:material3")
implementation("androidx.activity:activity-compose:1.8.2")
// ViewModel + LiveData (状态管理核心)
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.7.0")
implementation("androidx.lifecycle:lifecycle-runtime-compose:2.7.0")
implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.7.0")
// 调试工具
debugImplementation("androidx.compose.ui:ui-tooling")
debugImplementation("androidx.compose.ui:ui-test-manifest")
}
🧪 lifecycle-viewmodel-compose → viewModel() 可组合函数
🧪 lifecycle-runtime-compose → collectAsStateWithLifecycle()
| 依赖 (artifact) | 说明 | 推荐版本 (BOM 2024.02) |
|---|---|---|
| compose-bom | 物料清单 (BOM) | 2024.02.00 |
| ui | Compose UI 核心 | 由 BOM 控制 |
| material3 | Material Design 3 | 由 BOM 控制 |
| activity-compose | Activity + Compose 集成 | 1.8.2 |
| lifecycle-viewmodel-compose | ViewModel 在 Compose 中使用 | 2.7.0 |
| lifecycle-runtime-compose | 生命周期感知收集 | 2.7.0 |
🧑🏫 中小学生色系小课堂: 黄色代表活力与创造,橘色代表温暖与专注。用明亮配色让 Compose 学习更轻松!