Android集成Dagger Hilt 已配置Manifest仍报ClassNotFoundException异常
问题原因
崩溃触发点是Hilt编译期未生成Hilt_MyApplication类,启动时类加载失败抛出ClassNotFoundException。你的业务代码、Manifest声明逻辑没有错误,问题出在Hilt相关Gradle配置缺失,注解处理器没有正常运行。
日志里的Unknown bits set in runtime_flags: 0x28000是系统版本兼容警告,和本次崩溃无关,无需处理。
修复方案
按以下顺序检查配置:
- 打开项目根目录的
build.gradle(或对应kts文件),在plugins块中添加Hilt插件声明,版本和后续引入的Hilt依赖版本保持完全一致,示例Groovy配置如下:
plugins { id 'com.android.application' version '7.2.2' apply false id 'com.android.library' version '7.2.2' apply false id 'org.jetbrains.kotlin.android' version '1.7.10' apply false // 新增Hilt插件配置 id 'com.google.dagger.hilt.android' version '2.44' apply false }
- 打开app模块下的
build.gradle,首先在顶部plugins块中启用Hilt和kapt插件:
plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' // 新增启用Hilt插件 id 'com.google.dagger.hilt.android' }
- 同文件的dependencies块中添加Hilt依赖和注解处理器,版本号和根目录配置的Hilt插件版本完全对齐:
dependencies { // 新增Hilt依赖 implementation "com.google.dagger:hilt-android:2.44" kapt "com.google.dagger:hilt-android-compiler:2.44" // 原有依赖保持不变即可 }
- 配置完成后,依次执行菜单栏
File -> Invalidate Caches清除缓存重启Android Studio,再执行Build -> Clean Project、Build -> Rebuild Project,重新运行应用即可正常启动。
注意:如果使用的Hilt版本低于2.34,老版本配置方式略有差异,建议直接使用2.44及以上稳定版本,避免兼容问题。
内容的提问来源于stack exchange,提问作者user19541717
相关产品推荐
相关产品推荐

