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

升级Kotlin至1.9.10后Android Compose项目构建失败求助

Kotlin 1.9.10升级后kaptGenerateStubsDebugKotlin任务失败排查方案

1. 对齐Kapt与Kotlin插件版本

Kotlin 1.9.x对kapt版本要求严格,必须和Kotlin Gradle插件版本完全一致,不能出现版本不匹配:

  • 检查根目录build.gradle(或build.gradle.kts)中的Kotlin插件版本:
    plugins {
        id 'com.android.application' version '8.2.0' apply false
        id 'org.jetbrains.kotlin.android' version '1.9.10' apply false
    }
    
  • 确保app模块中没有指定旧版本的kapt依赖,所有注解处理器相关的kapt配置自动继承插件版本。

2. 清理Stub文件并重新构建

手动清理kapt生成的缓存文件,避免旧文件干扰:

  • 删除app/build/generated/source/kapt和app/build/tmp/kapt目录下的所有内容
  • 在终端执行详细日志构建命令,定位具体错误模块:
    ./gradlew clean :app:kaptGenerateStubsDebugKotlin --info
    

日志中会显示更具体的加载失败原因,比如某个类的引用错误、注解处理器异常。

3. 验证注解处理器兼容性

项目中使用的注解处理器(Room、Dagger等)必须支持Kotlin 1.9.10:

  • Room需使用2.5.0及以上版本:
    implementation "androidx.room:room-runtime:2.5.2"
    kapt "androidx.room:room-compiler:2.5.2"
    
  • Dagger需使用2.48及以上版本,其他注解处理器请核对官方兼容文档。

4. 匹配Compose与Kotlin版本

Compose和Kotlin版本有严格对应关系,Kotlin 1.9.10对应Compose稳定版为1.5.4:

  • 检查app模块中Compose依赖版本:
    implementation "androidx.compose.ui:ui:1.5.4"
    implementation "androidx.compose.material3:material3:1.1.2"
    implementation "androidx.compose.ui:ui-tooling-preview:1.5.4"
    

避免使用不兼容的Compose版本导致模块加载失败。

5. 排查依赖冲突

第三方库可能引入旧版本Kotlin依赖,导致版本冲突:

  • 运行命令查看依赖树:
    ./gradlew :app:dependencies
    
  • 若发现版本冲突,在根目录build.gradle添加强制统一配置:
    subprojects {
        configurations.all {
            resolutionStrategy {
                force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10"
                force "org.jetbrains.kotlin:kotlin-reflect:1.9.10"
            }
        }
    }
    

6. 检查代码中注解相关问题

Kotlin版本升级后对语法检查更严格,可能触发旧代码中的隐藏问题:

  • 排查使用kapt注解的类(如Room Entity、Dagger Module),检查是否有语法错误、引用不存在的类或注解参数错误
  • 避免使用废弃注解,或注解处理器未适配的Kotlin 1.9新特性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 23:40:53