📁 3 · 项目结构解析

Compose 目录 & 配置

🧸 了解 Compose 项目的目录结构、build.gradle 配置以及依赖导入说明,为你的第一个 Composable 打好地基。

📂 1. 典型 Compose 项目目录 🌱

一个标准的 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.propertiesGradle 属性,如启用 Compose 实验特性
⚙️ 2. build.gradle 配置 🧩
📌 项目级 build.gradle.kts
// 项目级 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+ 内置)
}
📌 模块级 app/build.gradle.kts (核心)
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")
}
📦 3. 依赖导入说明 🎯
🧭 4. 依赖架构示意 📐
app 模块 MainActivity + Composable build.gradle.kts composeOptions / BOM 依赖库 ui / material3 / activity 📌 Compose 编译器插件 (kotlinCompilerExtensionVersion) 通过 BOM 导入: 一行管理所有 Compose 库版本 ui-tooling 仅在 debug 生效,不影响 release
🔧 4. gradle.properties 建议 ✨
# 启用非透明压缩,提升构建速度
android.useAndroidX=true
kotlin.code.style=official
# 如果使用 Compose 实验性 API 可添加:
# android.enableJetifier=true
🧑‍🏫 小结 · 中小学生色系记忆卡
  • 📁 app/src/main/java — 你的 Composable 代码之家
  • 📄 build.gradle.kts (模块) — 开启 compose = true + BOM + material3
  • 🧪 ui-tooling — 开发神器,记得用 debugImplementation
  • 🎨 Material3 — 现代、多彩、适合中小学生 UI 风格
  • 📦 BOM — 版本统一,再也不用担心依赖冲突