Reputation: 277
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
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