mohamed
mohamed

Reputation: 11

java.lang.RuntimeException: Unable to instantiate application class z

I'm developing an Android app using Hilt for dependency injection, but when I run the app, I get a ClassNotFoundException for my MainApp class. Here's the logcat error message:

Process: com.nat.abudawood_internal_hr, PID: 22193 java.lang.RuntimeException: Unable to instantiate application com.nat.abudawood_internal_hr.MainApp package com.nat.abudawood_internal_hr: java.lang.ClassNotFoundException: Didn't find class "com.nat.abudawood_internal_hr.MainApp" on path: DexPathList[[zip file "/data/app/~~Yzrf2RBaLzHqDKZsUwqZaA==/com.nat.abudawood_internal_hr-RtyaSVKozlG4L2qYUTxHRA==/base.apk"],nativeLibraryDirectories=[/data/app/~~Yzrf2RBaLzHqDKZsUwqZaA==/com.nat.abudawood_internal_hr-RtyaSVKozlG4L2qYUTxHRA==/lib/arm64, /system/lib64, /system/system_ext/lib64]] at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1574) at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1503) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7558) at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2400) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8762) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.nat.abudawood_internal_hr.MainApp" on path: DexPathList[[zip file "/data/app/~~Yzrf2RBaLzHqDKZsUwqZaA==/com.nat.abudawood_internal_hr-RtyaSVKozlG4L2qYUTxHRA==/base.apk"],nativeLibraryDirectories=[/data/app/~~Yzrf2RBaLzHqDKZsUwqZaA==/com.nat.abudawood_internal_hr-RtyaSVKozlG4L2qYUTxHRA==/lib/arm64, /system/lib64, /system/system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.AppComponentFactory.instantiateApplication(AppComponentFactory.java:76) at androidx.core.app.CoreComponentFactory.instantiateApplication(CoreComponentFactory.java:52) at android.app.Instrumentation.newApplication(Instrumentation.java:1232) at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1566) at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1503)  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7558)  at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2400)  at android.os.Handler.dispatchMessage(Handler.java:106)  at android.os.Looper.loopOnce(Looper.java:226)  at android.os.Looper.loop(Looper.java:313)  at android.app.ActivityThread.main(ActivityThread.java:8762)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)  Suppressed: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/nat/abudawood_internal_hr/Hilt_MainApp; at java.lang.VMClassLoader.findLoadedClass(Native Method) at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738) at java.lang.ClassLoader.loadClass(ClassLoader.java:363) ... 16 more Caused by: java.lang.ClassNotFoundException: Didn't find class "com.nat.abudawood_internal_hr.Hilt_MainApp" on path: DexPathList[[zip file "/data/app/~~Yzrf2RBaLzHqDKZsUwqZaA==/com.nat.abudawood_internal_hr-RtyaSVKozlG4L2qYUTxHRA==/base.apk"],nativeLibraryDirectories=[/data/app/~~Yzrf2RBaLzHqDKZsUwqZaA==/com.nat.abudawood_internal_hr-RtyaSVKozlG4L2qYUTxHRA==/lib/arm64, /system/lib64, /system/system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312)`

Code Snippet:

MainApp
@HiltAndroidApp
class MainApp : Application() {
}

Manifest
<application
    android:name=".MainApp"
    ...
</application>

Gradle Dependencies (app)
    // Hilt
    implementation("com.google.dagger:hilt-android:"2.44")
    ksp("com.google.dagger:hilt-android-compiler:"2.44")
    ksp("androidx.hilt:hilt-compiler:1.1.0")
    implementation("androidx.hilt:hilt-navigation-compose:1.1.0")

Gradle Dependencies (project)
plugins {
    id("com.android.application") version "8.1.2" apply false
    id("org.jetbrains.kotlin.android") version "1.9.10" apply false
    id("com.google.dagger.hilt.android") version "2.44" apply false
    id("com.google.devtools.ksp") version "1.9.10-1.0.13" apply false
}

I'm using Android Studio Giraffe | 2022.3.1 Patch 2

What I've tried:

Upvotes: 0

Views: 280

Answers (1)

mohamed
mohamed

Reputation: 11

I found a solution to the error. I changed the Hilt version from 2.44 to 2.48

Gradle (app)
    implementation "com.google.dagger:hilt-android:2.48"
    ksp "com.google.dagger:hilt-android-compiler:2.48"
    ksp 'androidx.hilt:hilt-compiler:1.0.0'
    implementation 'androidx.hilt:hilt-navigation-compose:1.0.0'

Gradle (project)
    id("com.google.dagger.hilt.android") version "2.48" apply false

Upvotes: 1

Related Questions