Android Studio升级至V3.1.1后构建失败:kaptGenerateStubsDebugKotlin任务报错
解决Android Studio 3.1.1升级后kapt及ClassNotFoundException问题
你遇到的是Kotlin插件与Gradle版本不兼容引发的典型问题,升级AS后版本搭配错位很容易触发这类报错,下面是一步步的解决方案:
1. 统一Kotlin插件与Gradle版本
Android Studio 3.1.1有明确的兼容版本搭配规则:
- Gradle插件版本必须为
3.1.1 - Kotlin插件版本推荐使用
1.2.30(这是AS 3.1.x默认适配的稳定版本)
修改项目根目录的build.gradle文件:
buildscript { ext.kotlin_version = '1.2.30' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // 其他classpath依赖... } }
同时修改gradle/wrapper/gradle-wrapper.properties里的Gradle版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
2. 清理缓存并重建项目
版本同步后,旧缓存残留很可能导致报错持续:
- 点击Android Studio顶部菜单栏的
Build > Clean Project - 接着执行
Build > Rebuild Project - 可以手动删除项目根目录下的
.gradle、build文件夹,以及模块下的build文件夹,彻底清除缓存
3. 检查kapt相关配置
确保你的模块build.gradle里的kapt插件和依赖配置正确:
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' // 确保这个插件在kotlin-android之后声明 android { // 你的Android配置... } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // 如果你用了注解处理器(比如Dagger、Room等),确保版本与Kotlin兼容 kapt 'com.google.dagger:dagger-compiler:2.16' // 示例,替换成你的实际依赖 }
4. 排查第三方库冲突
如果上述步骤无效,检查是否有第三方库依赖了旧版本的Kotlin:
- 执行
./gradlew app:dependencies(Windows系统用gradlew.bat app:dependencies)查看依赖树,找到冲突的Kotlin版本,用force强制统一版本:
configurations.all { resolutionStrategy.force "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" }
这些步骤应该能解决你遇到的TaskExecutionException和ClassNotFoundException问题——本质都是版本不兼容导致的类加载失败。
内容的提问来源于stack exchange,提问作者restress
相关产品推荐
相关产品推荐

