WorkManager注入导致IllegalStateException异常。

4

我最近更新了我们的应用程序,其中使用@Provides注解提供了WorkManager技术。

    @Provides
    @Singleton
    fun provideWorkManager(@ForApplication context: Context): WorkManager {
        return WorkManager.getInstance(context)
    }

在80万次安装中,仅有一小部分用户出现了以下错误报告,来自谷歌应用商店,请问是否有人遇到过类似问题。

我正在使用Dagger 2.38.1版本和WorkManager 2.3.4版本。


java.lang.RuntimeException: 
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6998)
  at android.app.ActivityThread.access$1300 (ActivityThread.java:270)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2051)
  at android.os.Handler.dispatchMessage (Handler.java:107)
  at android.os.Looper.loop (Looper.java:237)
  at android.app.ActivityThread.main (ActivityThread.java:7948)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1075)
Caused by: java.lang.IllegalStateException: 
  at androidx.work.impl.WorkManagerImpl.getInstance (SourceFile:156)
  at androidx.work.WorkManager.getInstance (SourceFile:184)
  at com.microsoft.yammer.domain.injection.CoreDomainModule.provideWorkManager (SourceFile:170)
  at com.microsoft.yammer.domain.injection.CoreDomainModule_ProvideWorkManagerFactory.provideWorkManager (SourceFile:38)java.lang.RuntimeException: 
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6998)
  at android.app.ActivityThread.access$1300 (ActivityThread.java:270)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2051)
  at android.os.Handler.dispatchMessage (Handler.java:107)
  at android.os.Looper.loop (Looper.java:237)
  at android.app.ActivityThread.main (ActivityThread.java:7948)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1075)
Caused by: java.lang.IllegalStateException: 
  at androidx.work.impl.WorkManagerImpl.getInstance (SourceFile:156)
  at androidx.work.WorkManager.getInstance (SourceFile:184)
  at XXX.XYZModule.provideWorkManager (SourceFile:170)
  at XXX.XYZModule_ProvideWorkManagerFactory.provideWorkManager (SourceFile:38)

我在非常旧的1.0.0-alpha11变更集中看到了这个警告 https://developer.android.com/jetpack/androidx/releases/work#1.0.0-alpha11 尝试在同一进程中多次初始化WorkManager现在将导致IllegalStateException。 这是一个破坏性的变化。 - Subodh Nijsure
1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接