Hilt依赖构建报错求助:kaptDebugKotlin任务执行失败
解决Hilt kapt构建错误的方案
核心问题分析
你遇到的InvocationTargetException出现在kapt任务中,大概率是依赖版本不匹配、语法错误或重复注解处理器配置导致的,以下是针对性修复步骤:
1. 统一Hilt核心依赖版本
Hilt的核心库和注解编译器版本必须完全一致,你当前hilt-android用了2.48,但编译器和项目插件都是2.44,版本不一致会引发处理器冲突。
修改模块级build.gradle的Hilt依赖:
// hilt implementation("com.google.dagger:hilt-android:2.44") kapt("com.google.dagger:hilt-android-compiler:2.44")
项目级build.gradle的插件版本已经是2.44,无需修改。
2. 修复AndroidX Hilt依赖版本不兼容
你使用的hilt-lifecycle-viewmodel:1.0.0-alpha03是旧测试版本,和hilt-navigation-compose:1.1.0版本不匹配,替换为稳定兼容版本:
implementation("androidx.hilt:hilt-lifecycle-viewmodel:1.1.0") kapt("androidx.hilt:hilt-compiler:1.1.0")
3. 修正依赖声明的语法错误
hilt-navigation-compose的依赖多了个星号,属于语法错误,直接修正:
// 错误写法 // implementation*("androidx.hilt:hilt-navigation-compose:1.1.0") // 正确写法 implementation("androidx.hilt:hilt-navigation-compose:1.1.0")
4. 清理Room的重复注解处理器配置
Room同时配置了annotationProcessor(Java专用)和kapt(Kotlin专用),Kotlin项目只保留kapt即可,避免冲突:
val room_version = "2.6.1" implementation("androidx.room:room-runtime:$room_version") // 移除这行重复配置 // annotationProcessor("androidx.room:room-compiler:$room_version") kapt("androidx.room:room-compiler:$room_version") implementation("androidx.room:room-ktx:$room_version")
5. 清理缓存并重新构建
完成以上修改后,执行:
- Android Studio中点击
File > Invalidate Caches... > Invalidate and Restart - 或终端运行命令:
./gradlew clean ./gradlew assembleDebug
6. 查看完整错误日志
如果仍报错,打开底部的Gradle Console查看完整kapt输出,InvocationTargetException通常会在日志里隐藏具体的错误原因(比如某个类的Hilt注解使用错误),完整日志能定位到具体问题。
内容的提问来源于stack exchange,提问作者Ngaox Thao
相关产品推荐
相关产品推荐

