开启Jetpack Compose后kaptGenerateStubs任务构建失败如何解决
核心排查方案
- 优先检查Kotlin版本与Compose编译器版本的匹配关系,AGP 4.2.2最高支持Kotlin 1.5.x版本,Compose编译器版本必须和项目使用的Kotlin版本严格一一对应,同时必须显式指定
composeOptions配置,完整的基础配置示例如下:
android { buildFeatures { compose = true } composeOptions { // 此处版本需要和项目Kotlin版本匹配,例如Kotlin 1.5.31对应版本为1.0.5 kotlinCompilerExtensionVersion = "1.0.5" } kotlinOptions { jvmTarget = "1.8" } }
- 检查kapt注解处理器依赖兼容性,项目中如果使用了Dagger/Hilt、Room、Retrofit等需要kapt处理的框架,确认其版本和当前Kotlin版本兼容,同时保证全项目所有模块的Kotlin版本统一,避免子模块引用了更高版本的Kotlin依赖。
- 排查构建变体配置冲突,报错指向的是
AlphaX86_64PlayAppDebug变体的kapt任务,可先切换到标准Debug变体执行构建,确认是否是该变体的特殊源集、依赖排除规则等配置和Compose生成代码逻辑冲突。 - 查看更详细的错误日志,在命令行执行
./gradlew assembleDebug --stacktrace,可以拿到kapt阶段具体的编译错误信息,定位是哪部分代码/依赖导致的冲突。 - 清理构建缓存重试,执行
./gradlew clean,删除项目根目录的.gradle文件夹、app模块下的build文件夹后重新构建,排除缓存损坏导致的构建异常。
内容的提问来源于stack exchange,提问作者Tiberiu Paduraru
相关产品推荐
相关产品推荐

