课程概览与前置准备:环境要求、SDK 版本、构建工具配置、项目初始化模板

本章梳理《Android 原生 View 嵌入 Compose》课程所需的环境与工具链。正确配置开发环境是避免后续编译和运行时兼容性问题的前提。以下内容覆盖 Android Studio、JDK、Android SDK、Gradle 与 Compose 编译器的版本要求,以及项目初始化模板的两种方式:从模板创建和手动集成。

1. 环境要求一览

工具 / 组件最低版本推荐版本说明
Android StudioHedgehog (2023.1.1)Ladybug (2024.2.1) 或更高内置 Compose 模板与预览支持
JDK1717 LTS 或 21 LTSGradle 8.x 与 AGP 8.x 均要求 JDK 17+
Android SDKAPI 24 (Android 7.0)API 34 (Android 14) 作为 compileSdkminSdk 推荐 21+,targetSdk 建议与 compileSdk 一致
Android Gradle Plugin (AGP)8.28.5 或 8.7具体版本与 Gradle 版本对应
Gradle8.28.7 或 8.9AGP 8.x 要求 Gradle 8.2+
Kotlin1.9.01.9.24 或 2.0.0Compose 编译器版本需与 Kotlin 严格匹配
Compose BOM2023.10.012024.09.00统一管理 Compose 依赖版本
版本匹配原则:Compose 编译器(kotlinCompilerExtensionVersion)必须与 Kotlin 版本一一对应。错误配对会导致类似 org.jetbrains.kotlin.javax.inject.Inject 的编译失败。推荐在 Compose Kotlin 兼容性表 中查询最新对应关系。

2. Android SDK 与模块版本配置

在模块级 build.gradle.kts 的 android 块中设置:

android {
    namespace = "com.example.composeviewembed"
    compileSdk = 34

    defaultConfig {
        applicationId = "com.example.composeviewembed"
        minSdk = 21
        targetSdk = 34
        versionCode = 1
        versionName = "1.0"
    }
}

若项目需要支持更低的 Android 版本(如 API 19),minSdk 可降至 19,但 Compose 部分功能(如首选项、Material3)可能无法使用。本课程所有示例均以 minSdk 21 作为基准。

3. 构建工具配置:Gradle 与 Compose 依赖

在项目级 build.gradle.kts 中定义 Compose 编译器插件(Kotlin 2.0+ 改为 org.jetbrains.kotlin.plugin.compose):

// 项目级 build.gradle.kts
plugins {
    id("com.android.application") version "8.5.0" apply false
    id("org.jetbrains.kotlin.android") version "1.9.24" apply false
    // Kotlin 2.0+ 使用以下插件
    // id("org.jetbrains.kotlin.plugin.compose") version "2.0.0" apply false
}

模块级 build.gradle.kts 引入 Compose BOM 并启用 compose:

plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
    // Kotlin 2.0+ 取消注释
    // id("org.jetbrains.kotlin.plugin.compose")
}

android {
    buildFeatures {
        compose = true
    }
    // 仅 Kotlin 1.9.x 需要;2.0+ 由插件自动处理
    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }
}

dependencies {
    val composeBom = platform("androidx.compose:compose-bom:2024.09.00")
    implementation(composeBom)
    implementation("androidx.compose.ui:ui")
    implementation("androidx.compose.ui:ui-tooling-preview")
    implementation("androidx.compose.material3:material3")
    implementation("androidx.activity:activity-compose:1.9.2")
    debugImplementation("androidx.compose.ui:ui-tooling")
}
常见错误 – 编译器版本不匹配
在使用 Kotlin 1.9.24 时kotlinCompilerExtensionVersion 应为 1.5.14;若使用 Kotlin 2.0.0,则必须移除 composeOptions 并改用 org.jetbrains.kotlin.plugin.compose 插件。否则 Gradle 同步时会报 Incompatible Compose compiler version。

4. 项目初始化模板

本课程提供两种初始化方式,任选其一即可:

  • 使用 Android Studio 模板:File → New → New Project → Empty Compose Activity。自动生成包含 MainActivity、Theme 和 Greeting 的完整项目。
  • 手动集成(适用于已有项目):在现有 build.gradle.kts 中逐步添加上述配置。确保 compileSdk ≥ 34,minSdk ≥ 21,并在 dependencies 中加入 Compose BOM 及核心库。

无论哪种方式,最终项目结构应包含以下关键文件:

app/
├── build.gradle.kts
├── src/main/
│   ├── AndroidManifest.xml
│   ├── java/com/example/composeviewembed/
│   │   └── MainActivity.kt
│   └── res/
├── gradle/
│   └── libs.versions.toml (可选版本目录)
└── build.gradle.kts (项目级)
首章实践建议
1. 使用 Android Studio 模板新建项目后,先修改 build.gradle.kts 中的版本号与 BOM 至推荐值。
2. 运行一次空项目,确认 Gradle 同步成功、模拟器上显示 “Hello Android!” 或类似 Compose 界面。
3. 检查 AndroidManifest.xml 中 application 标签内是否包含 enableJetpack 等属性(通常不需要,但旧项目模板可能保留)。

5. 环境配置流程图

Android 原生 View 嵌入 Compose 前置环境配置图 开发环境配置流程 Android Studio Ladybug 2024.2+ JDK 17 LTS 或 21 LTS Android SDK 34 + Gradle 8.9 AGP 8.7 · minSdk 21 Kotlin 1.9.24 Compose 编译器 1.5.14 Compose BOM 2024.09 ui · material3 · activity-compose 可运行 Compose 项目 确保各组件版本对齐,否则编译或运行时将出现不可预期的错误