We use WorkManager in Reteno SDK. If you are using WorkManager in your project, you can face WorkManager initialization issues.
If you do, remove the default WorkManager initializer — but only it. Removing the whole androidx.startup.InitializationProvider breaks the SDK's initialization: Reteno.initWithConfig(...) then fails with IllegalArgumentException: Trying to access Reteno instance before Application.onCreate(), even though it is called after super.onCreate(). Merge the provider and remove the WorkManager initializer inside it:
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
android:exported="false"
tools:node="merge">
<meta-data
android:name="androidx.work.WorkManagerInitializer"
android:value="androidx.startup"
tools:node="remove" />
</provider>And implement a configuration provider in your Application class:
class MyApplication() : Application(), Configuration.Provider {
override fun getWorkManagerConfiguration() =
Configuration.Builder()
.setMinimumLoggingLevel(android.util.Log.INFO)
.build()
}class MyApplication extends Application implements Configuration.Provider {
@Override
public Configuration getWorkManagerConfiguration() {
return new Configuration.Builder()
.setMinimumLoggingLevel(android.util.Log.INFO)
.build();
}
}You can find more information in official WorkManager custom initialization documentation .
