如何解决使用Hilt时出现的KaptWithoutKotlincTask$KaptExecutionWorkAction错误?
解决Hilt集成时的kaptDebugKotlin构建错误
错误核心原因
从你的代码和配置来看,导致构建失败的关键问题有两个:
- Hilt版本不兼容:项目级Gradle中Hilt插件版本为2.44,但模块依赖里
hilt-android用了2.49,hilt-android-compiler又回退到2.44,版本不一致会触发kapt编译冲突。 - 缺失Hilt初始化入口:使用
@AndroidEntryPoint注解的Activity必须依赖带有@HiltAndroidApp注解的Application类,当前项目未配置该核心类。
分步解决方案
1. 统一Hilt全组件版本
修改项目级和模块级Gradle文件,确保Hilt插件、依赖、编译器版本完全一致:
项目级build.gradle
plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.jetbrains.kotlin.android) apply false // 统一使用2.49版本(或你偏好的稳定版本) id("com.google.dagger.hilt.android") version "2.49" apply false }
模块级build.gradle
dependencies { // ...其他依赖保持不变 // Hilt依赖(与项目级插件版本对齐) implementation("com.google.dagger:hilt-android:2.49") kapt("com.google.dagger:hilt-android-compiler:2.49") }
2. 添加Hilt Application类
创建继承自Application的类并添加@HiltAndroidApp注解,作为Hilt的初始化入口:
@HiltAndroidApp class MyApp : Application() { // 无需额外逻辑,注解会自动完成Hilt初始化 }
在AndroidManifest.xml中指定该Application:
<application android:name=".MyApp" <!-- 其余原有属性保留 --> > <!-- ...Activity配置 --> </application>
3. 清理缓存并重新构建
执行以下操作确保配置生效:
- 点击Android Studio工具栏
File > Invalidate Caches...,选择Invalidate and Restart - 重新执行构建(Build > Rebuild Project)
修复验证
完成上述步骤后重新运行应用,Hilt将正常注入ClassSample实例,界面会正确显示"Hello, world!"。
内容的提问来源于stack exchange,提问作者Bob Rasner
相关产品推荐
相关产品推荐

