🧸 了解 Compose 项目的目录结构、build.gradle 配置以及依赖导入说明,为你的第一个 Composable 打好地基。
一个标准的 Jetpack Compose 项目 (Android) 结构如下:
| 目录 / 文件 | 说明 |
|---|---|
| app/ | 主应用模块,包含代码、资源、测试 |
| app/src/main/java/ | Kotlin 源代码根目录 (com.example.app) |
| app/src/main/res/ | 资源文件 (drawable, values, etc.) |
| app/src/main/AndroidManifest.xml | 应用清单,声明 Activity 等 |
| app/build.gradle.kts (或 .gradle) | 模块级构建配置,Compose 依赖在此声明 |
| build.gradle.kts (项目级) | 项目级配置,插件、仓库等 |
| settings.gradle.kts | 项目模块设置 |
| gradle.properties | Gradle 属性,如启用 Compose 实验特性 |
// 项目级 build.gradle.kts (root)
plugins {
id("com.android.application") version "8.2.0" apply false
id("org.jetbrains.kotlin.android") version "1.9.20" apply false
// ❗ Compose 编译器插件 (Kotlin 1.9+ 内置)
}
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
}
android {
namespace = "com.example.myfirstcompose"
compileSdk = 34
defaultConfig {
applicationId = "com.example.myfirstcompose"
minSdk = 24
targetSdk = 34
versionCode = 1
versionName = "1.0"
}
buildFeatures {
compose = true // 启用 Compose
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.5" // 匹配 Kotlin 版本
}
kotlinOptions {
jvmTarget = "17"
}
}
dependencies {
// ✅ Compose BOM (统一管理版本)
val composeBom = platform("androidx.compose:compose-bom:2024.01.00")
implementation(composeBom)
// ✅ Compose UI 核心
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-graphics")
implementation("androidx.compose.ui:ui-tooling-preview")
debugImplementation("androidx.compose.ui:ui-tooling")
// ✅ Material3 (推荐)
implementation("androidx.compose.material3:material3")
// ✅ Activity Compose
implementation("androidx.activity:activity-compose:1.8.2")
// ✅ 可选: 动画、约束布局等
// implementation("androidx.compose.animation:animation")
}
setContent { }。# 启用非透明压缩,提升构建速度 android.useAndroidX=true kotlin.code.style=official # 如果使用 Compose 实验性 API 可添加: # android.enableJetifier=true
compose = true + BOM + material3debugImplementation