java.lang.RuntimeException: Unable to get provider androidx.startup.InitializationProvider: androidx.startup.StartupException: java.lang.ExceptionInInitializerError
at android.app.ActivityThread.installProvider(ActivityThread.java:9598)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:9095)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:8713)
at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2873)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loopOnce(Looper.java:273)
at android.os.Looper.loop(Looper.java:363)
at android.app.ActivityThread.main(ActivityThread.java:10060)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:632)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
Caused by: androidx.startup.StartupException: java.lang.ExceptionInInitializerError
at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:187)
at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:239)
at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:207)
at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:49)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2710)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2679)
at android.app.ActivityThread.installProvider(ActivityThread.java:9593)
... 11 more
Caused by: java.lang.ExceptionInInitializerError
at io.github.orioneee.AxerConfig.<init>(AxerConfig.kt:6)
at io.github.orioneee.Axer.<clinit>(Axer.kt:214)
at io.github.orioneee.AxerBundledSQLiteDriver.<init>(AxerBundledSQLiteDriver.kt:29)
at io.github.orioneee.AxerBundledSQLiteDriver.instance_delegate$lambda$2(AxerBundledSQLiteDriver.kt:53)
at io.github.orioneee.AxerBundledSQLiteDriver.$r8$lambda$tYDhUiiJ0grrZPIwDgQJBO3n4LQ(Unknown Source:0)
at io.github.orioneee.AxerBundledSQLiteDriver$$ExternalSyntheticLambda0.invoke(D8$$SyntheticClass:0)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:86)
at io.github.orioneee.AxerBundledSQLiteDriver$Companion.getInstance$axer_release(AxerBundledSQLiteDriver.kt:52)
at io.github.orioneee.AxerBundledSQLiteDriver$Companion.getInstance(AxerBundledSQLiteDriver.kt:57)
Currently Axer uses KoinInitializer for internal initialization. This initializer is internal, so library clients cannot access it and make their own application initializers depend on it. This causes application crash if application custom initializer tries to access Axer (e.g. for configuration).
For now I've fixed for me it by exposing public initializer to depend on it (6abfaf0), but maybe you can provide better way to handle it.
Currently Axer uses
KoinInitializerfor internal initialization. This initializer is internal, so library clients cannot access it and make their own application initializers depend on it. This causes application crash if application custom initializer tries to accessAxer(e.g. for configuration).For now I've fixed for me it by exposing public initializer to depend on it (6abfaf0), but maybe you can provide better way to handle it.