You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向基于View的现有项目添加Jetpack Compose时构建报错求助

解决Kotlin 1.9.0 + Jetpack Compose构建时的NoClassDefFoundError问题

问题原因

你遇到的java.lang.NoClassDefFoundError: org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunnerKt错误,核心是Kotlin版本与Compose Compiler版本不兼容。Kotlin 1.9.0属于较新的版本,而你使用的Compose Compiler 1.5.0未适配该Kotlin版本,导致编译时出现类缺失。

解决方案

1. 匹配Compose Compiler与Kotlin版本

Compose Compiler和Kotlin有严格的版本对应关系,Kotlin 1.9.0需要搭配Compose Compiler 1.5.3或更高版本。修改模块级build.gradle中的配置:

composeOptions {
    kotlinCompilerExtensionVersion = "1.5.3" // 或1.5.4,建议使用最新兼容版
}

2. 确保Android Gradle Plugin(AGP)版本兼容

Kotlin 1.9.0需要配合AGP 8.1.0及以上版本使用。检查项目级build.gradle中的AGP版本:

buildscript {
    dependencies {
        classpath "com.android.tools.build:gradle:8.1.0" // 或更高兼容版本
    }
}

3. 清理构建缓存

旧缓存可能导致版本冲突,执行以下Gradle命令清理:

./gradlew clean
./gradlew build --refresh-dependencies

4. 检查Kapt配置(若项目使用Kapt)

如果项目中使用了Kapt,可能存在版本不匹配问题。可以尝试暂时禁用Kapt(替换为KSP,若可行),或者确保Kapt版本与Kotlin版本一致:

dependencies {
    kapt "com.android.databinding:compiler:8.1.0" // 版本与AGP保持一致
}

5. 验证所有Compose依赖版本统一

确保项目中所有Compose相关依赖(如compose-ui、compose-material3等)的版本与Compose Compiler版本兼容,建议使用同一版本号:

dependencies {
    implementation "androidx.compose.ui:ui:1.5.3"
    implementation "androidx.compose.material3:material3:1.1.2"
    // 其他Compose依赖保持版本统一
}

内容的提问来源于stack exchange,提问作者Arman TabibZadeh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 10:25:13