使用Hilt时出现Execution failed for task ':app:kaptDebugKotlin'错误如何解决
问题成因汇总
1. 缺失kotlin-kapt插件声明
该场景下绝大多数报错都是因为应用级build.gradle的plugins块中未添加kotlin-kapt插件,Hilt的注解处理器依赖kapt运行,缺少该插件会导致注解解析阶段直接崩溃,无明确错误抛出。
需要在应用级build.gradle的plugins块中补充配置:
id 'kotlin-kapt'
2. 版本兼容性不匹配
你使用的Hilt 2.38.1对Kotlin版本有明确适配要求,仅匹配Kotlin 1.5.x版本,如果你的项目Kotlin版本高于1.6.0或低于1.5.0,就会出现注解处理器运行异常的问题。你可以升级Hilt版本到匹配当前Kotlin版本的对应发行版,或调整Kotlin版本到1.5.21适配当前Hilt版本。
3. 注解导入错误
检查NetworkModule.kt的导入语句是否正确,错误的导入会导致Hilt无法识别对应注解:
正确导入规则如下:
import dagger.Module import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent
如果误导入了Dagger旧版的Component、或是其他第三方库的同名注解,都会触发编译崩溃。
4. Gradle缓存损坏
偶发的Gradle、kapt本地缓存损坏也会导致无明确错误的编译失败,可以执行以下命令清理缓存后重新编译:
Windows环境命令:
gradlew clean gradlew --stop
Mac/Linux环境命令:
./gradlew clean ./gradlew --stop
执行完成后删除项目根目录下的.gradle文件夹重新编译即可。
快速定位具体错误方法
在项目根目录的gradle.properties文件中添加以下配置:
kapt.verbose=true
重新编译后就能在构建日志中看到kapt阶段输出的具体错误信息,直接定位根因。
内容的提问来源于stack exchange,提问作者Ibramazin
相关产品推荐
相关产品推荐

