Android Studio中Kotlin与Java JVM目标版本不一致问题求助
解决Gradle中Java与Kapt JVM目标版本不兼容问题
你遇到的错误核心是Java编译任务和Kapt stub生成任务的JVM版本不匹配——前者用1.8,后者用19。即便已经配置了compileOptions和kotlinOptions,仍然出现问题,大概率是Kapt没有正确继承Kotlin的JVM目标设置,或是存在配置覆盖、插件版本bug。以下是可行的解决办法:
方案1:强制给Kapt配置对齐的JVM版本
在android闭包内添加Kapt的专属配置,直接指定其使用的Java版本,确保和Java、Kotlin的编译版本一致:
android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } // 给Kapt单独设置JVM目标版本 kapt { javacOptions { option("-source", "1.8") option("-target", "1.8") } } }
方案2:更新Kotlin插件版本
旧版Kotlin插件可能存在kotlinOptions的jvmTarget无法传递给Kapt的bug。升级到稳定版插件,比如在项目根目录的build.gradle中更新版本:
plugins { id 'com.android.application' version '8.1.0' apply false id 'org.jetbrains.kotlin.android' version '1.9.0' apply false }
方案3:检查多模块配置(如有)
如果是多模块项目,务必确保所有模块的compileOptions、kotlinOptions以及Kapt配置都统一为1.8,避免某个模块的配置覆盖全局设置。
方案4:清理缓存后重新构建
旧的构建缓存可能残留冲突配置,执行以下命令清理并重新构建:
./gradlew clean ./gradlew assembleDebug
内容的提问来源于stack exchange,提问作者Salar Rastari
相关产品推荐
相关产品推荐

