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

Android Studio Hedgehog版本无法实例化Application类问题求助

解决Hilt导致Application无法实例化的ClassNotFoundException问题

报错信息

java.lang.RuntimeException: Unable to instantiate application com.nativethings.noteapp.NotesApp package java.lang.ClassNotFoundException: Didn't find application class on path: DexPathList[[zip file "/data/app/~~8jI8LDfrOLtsT4_mpKVSog==/com.nativethings.noteapp-L7dUjYUUiOBjUhLF7V-7oA==/base.apk"],nativeLibraryDirectories=[/data/app/~~8jI8LDfrOLtsT4_mpKVSog==/com.nativethings.noteapp-L7dUjYUUiOBjUhLF7V-7oA==/lib/arm64, /system/lib64, /system_ext/lib64]]

问题分析

该错误多因Hilt依赖注入框架配置不完整,导致系统无法找到生成的Application代理类,或是Dex打包、项目缓存异常引发的类路径问题。结合你的Room+Hilt项目代码,按以下步骤排查解决:

解决步骤

  • 检查Hilt依赖与插件配置

    1. 项目根目录build.gradle(或build.gradle.kts)需添加Hilt插件的classpath:
      buildscript {
          dependencies {
              classpath 'com.google.dagger:hilt-android-gradle-plugin:2.48'
          }
      }
      
    2. app模块的build.gradle(或build.gradle.kts)必须应用Hilt和kotlin-kapt插件,并添加完整依赖:
      plugins {
          id 'com.android.application'
          id 'kotlin-android'
          id 'dagger.hilt.android.plugin'
          id 'kotlin-kapt'
      }
      
      dependencies {
          // Hilt核心依赖
          implementation 'com.google.dagger:hilt-android:2.48'
          kapt 'com.google.dagger:hilt-android-compiler:2.48'
          // Room依赖
          implementation 'androidx.room:room-runtime:2.5.2'
          kapt 'androidx.room:room-compiler:2.5.2'
      }
      
  • 验证Manifest中Application声明
    确保AndroidManifest.xml的<application>标签明确指定自定义Application类:

    <application
        android:name=".NotesApp"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.NoteApp">
        <!-- 其他组件声明 -->
    </application>
    
  • 清理重建项目
    执行Android Studio菜单中的Build > Clean Project,随后执行Build > Rebuild Project;或通过命令行运行:

    ./gradlew clean assembleDebug
    

    此举可清除旧的编译缓存,确保Hilt生成的代理类被正确打包。

  • Dex配置优化(针对Hedgehog版本)
    Android Studio Hedgehog可能存在Dex打包兼容性问题,在app模块build.gradle中启用多Dex并关闭调试版本的混淆:

    android {
        defaultConfig {
            ...
            multiDexEnabled true
        }
    
        buildTypes {
            debug {
                minifyEnabled false
                shrinkResources false
            }
        }
    }
    

    若使用R8混淆,需在proguard-rules.pro中添加Hilt保护规则:

    -keep class dagger.hilt.** { *; }
    -keep class com.nativethings.noteapp.NotesApp { *; }
    
  • 检查Kapt注解处理器状态
    确保kotlin-kapt插件已启用,且Hilt、Room的注解处理器依赖使用kapt而非annotationProcessor(Kotlin项目必须用kapt)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 12:10:33