eldartsa
eldartsa

Reputation: 277

Dagger Hilt crash in Google Play Console

I'm using Hilt library (version 2.36) in my project and getting the following crash appears in my Google Play Console, crash happens to all android versions and all devices, mostly I guess in Android 9..

java.lang.IllegalStateException
dagger.hilt.android.internal.managers.ActivityComponentManager.createComponent

Full stacktrace:

java.lang.RuntimeException: 
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3430)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3614)
  at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:86)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2199)
  at android.os.Handler.dispatchMessage (Handler.java:112)
  at android.os.Looper.loop (Looper.java:216)
  at android.app.ActivityThread.main (ActivityThread.java:7625)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:524)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:987)
Caused by: java.lang.IllegalStateException: 
  at dagger.hilt.android.internal.managers.ActivityComponentManager.createComponent (ActivityComponentManager.java:76)
  at dagger.hilt.android.internal.managers.ActivityComponentManager.generatedComponent (ActivityComponentManager.java:66)
  at com.kingim.activities.Hilt_MainActivity.generatedComponent (Hilt_MainActivity.java:40)
  at com.kingim.activities.Hilt_MainActivity.inject (Hilt_MainActivity.java:62)
  at com.kingim.activities.Hilt_MainActivity$1.onContextAvailable (Hilt_MainActivity.java:33)
  at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable (ContextAwareHelper.java:99)
  at androidx.activity.ComponentActivity.onCreate (ComponentActivity.java:322)
  at androidx.fragment.app.FragmentActivity.onCreate (FragmentActivity.java:273)
  at com.kingim.activities.BaseActivity.onCreate (BaseActivity.kt:77)
  at android.app.Activity.performCreate (Activity.java:7458)
  at android.app.Activity.performCreate (Activity.java:7448)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1286)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3409)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3614)
  at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:86)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2199)
  at android.os.Handler.dispatchMessage (Handler.java:112)
  at android.os.Looper.loop (Looper.java:216)
  at android.app.ActivityThread.main (ActivityThread.java:7625)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:524)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:987)

BaseActivity and MainActivity(that extends BaseActivity) are displayed in my gist: https://gist.github.com/eldartsa/ba3e0f47e279d21242aa09b1c51e863f

Upvotes: 4

Views: 711

Answers (1)

Carl Elbaz
Carl Elbaz

Reputation: 21

So this article should explain it. But, essentially the Application class will always be created before Activity, Service, BroadcastReceiver so you can safely call getApplication(). ContentProvider though can be instantiated before Application. Chances are you have an issue occurring with backupMode. check your manifest for android:allowBackup="true".

Upvotes: 2

Related Questions