使用Jetpack Compose时kaptGenerateStubsDebugKotlin任务构建失败如何解决
Jetpack Compose构建失败排查修复方案
核心根因
你遇到的kaptGenerateStubsDebugKotlin任务抛出java.io.UTFDataFormatException异常,本质是Jetpack Compose、Kotlin插件、Android Gradle Plugin(AGP)三者版本不兼容,导致Kotlin编译守护进程和kapt插件的参数解析出现序列化异常。
你当前使用的版本组合存在两个严重兼容问题:
- Jetpack Compose 1.0.4的官方匹配Kotlin版本为1.5.31,你使用的Kotlin 1.6.0-M1是预览版,存在大量未稳定的API变更,会触发kapt插件的参数解析错误
- AGP 4.2.2对Jetpack Compose的支持不完善,Compose 1.0.x稳定版最低要求AGP版本为7.0.0
分步修复步骤
- 第一步:对齐版本组合,选择稳定的正式版组合即可,可参考如下两种可行配置:
- 低版本稳定组合:Compose 1.0.4 + Kotlin 1.5.31 + AGP 7.0.4
- 高版本稳定组合:Compose 1.2.0 + Kotlin 1.7.0 + AGP 7.2.0
- 第二步:终止异常Kotlin守护进程,执行命令:
./gradlew --stop - 第三步:清理项目缓存,执行命令:
./gradlew clean - 第四步:如果上述步骤执行后仍然报错,可临时在项目根目录的
gradle.properties文件中添加如下配置,禁用kapt增量编译测试:
确认构建成功后,再逐步排查增量编译相关的其他配置问题。kapt.incremental.apt=false
验证标准
配置完成后重新引入所有Compose相关依赖,执行构建任务,若不再抛出kapt相关的异常,且可以正常打包,即为修复完成。
内容的提问来源于stack exchange,提问作者SoDa-Salie
相关产品推荐
相关产品推荐

