Dagger Hilt crash in Google Play Console

Viewed 274

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

1 Answers

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".

Related