You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android启动报错:未找到MainApplication类,疑与Hilt/Kapt相关

解决Hilt导致的ClassNotFoundException(MainApplication/Hilt_MainApplication)

检查Hilt配置完整性

  • 确认项目级build.gradle中正确添加Hilt插件依赖:
    buildscript {
        dependencies {
            classpath 'com.google.dagger:hilt-android-gradle-plugin:2.48'
        }
    }
    
  • 应用级build.gradle顶部必须添加Hilt与kapt插件:
    plugins {
        id 'com.android.application'
        id 'kotlin-android'
        id 'dagger.hilt.android.plugin'
        id 'kotlin-kapt'
    }
    
  • 确保Hilt核心依赖和注解处理器版本匹配:
    dependencies {
        implementation 'com.google.dagger:hilt-android:2.48'
        kapt 'com.google.dagger:hilt-android-compiler:2.48'
    }
    

验证Application类的注解与清单配置

  • 确认MainApplication类正确添加@HiltAndroidApp注解且继承自Application:
    @HiltAndroidApp
    class MainApplication : Application() {
        // 自定义逻辑
    }
    
  • 检查AndroidManifest.xml中Application的类名配置,确保包名与实际类路径一致:
    <application
        android:name=".MainApplication"
        <!-- 其他配置项 -->
        >
    

排查kapt编译与缓存问题

  • 执行完整的Gradle清理编译命令:
    ./gradlew clean assembleDebug
    
  • 开启Android Studio注解处理器支持:打开Settings > Build, Execution, Deployment > Compiler > Annotation Processors,勾选Enable annotation processing。
  • 若开启混淆,添加Hilt专属混淆规则到proguard-rules.pro:
    -keep class com.example.myapplication.Hilt_MainApplication
    -keep class dagger.hilt.** { *; }
    

检查模块与依赖冲突

  • 确保所有模块的Hilt依赖版本完全一致,避免版本不兼容导致生成类异常。
  • 多模块项目中,每个需要Hilt的模块都要单独配置kapt和Hilt插件。

其他修复点

  • 核对MainApplication的包名是否与Manifest中声明的完全一致,避免拼写错误。
  • 删除项目根目录的.gradle、.idea文件夹,重新导入项目,彻底清除缓存。

内容的提问来源于stack exchange,提问作者Anastasia_k64

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 21:03:14