Android Studio构建报错:':app:kaptGenerateStubsDebugKotlin'任务执行失败求解
解决JVM目标版本不兼容问题
你的构建错误根源是项目级Gradle插件版本冲突,导致kapt任务使用的JVM目标与Java编译任务不一致。以下是具体修复步骤:
1. 统一项目级Gradle插件配置
你的项目级build.gradle同时存在两种插件声明方式,且Kotlin、Android Gradle插件版本混乱,直接替换为以下内容:
// Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { id 'com.android.application' version '8.0.2' apply false id 'com.android.library' version '8.0.2' apply false id 'org.jetbrains.kotlin.android' version '1.8.20' apply false id 'androidx.navigation:navigation-safe-args-gradle-plugin' version '2.5.0' apply false } task clean(type: Delete) { delete rootProject.buildDir }
说明:移除冗余的buildscript块,统一使用plugins声明所有插件,确保版本完全一致
2. 修复app模块的JVM目标配置
在app模块的build.gradle中,保留原有编译配置并添加JVM工具链,确保kapt任务遵循统一的JVM版本:
android { namespace 'com.example.studentapplication' compileSdk 33 defaultConfig { applicationId "com.example.studentapplication" minSdk 21 targetSdk 33 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } // 添加JVM工具链,强制所有编译任务使用Java 8 java { toolchain { languageVersion.set(JavaLanguageVersion.of(8)) } } }
3. 完成构建前的清理操作
- 点击Android Studio右上角的Sync Project with Gradle Files同步项目
- 执行Build > Clean Project清理旧构建缓存
- 重新运行构建任务
额外优化建议
- 升级Room依赖到
2.5.2,Lifecycle依赖到2.6.2,避免与高版本Kotlin插件存在兼容性问题 - 移除冗余的
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.30",kotlin-android插件会自动引入适配版本的stdlib
内容的提问来源于stack exchange,提问作者classikh
相关产品推荐
相关产品推荐

