androidx.work.impl.WorkManagerInitializer: java.lang.ClassNotFoundException: "androidx.work.impl.Wor



我最近将旧应用程序的后台服务迁移到WorkManager。在最近的设备上(包括sdk22(,它看起来还可以,运行重复的工作单元,并按预期在设备重新启动时安排它们。

问题是,当我测试旧版本(这里旧版本非常相对(时,Android sdk 14是我的minSdkVersion。BTW和WorkManager也应具有相同的:根据doc,向后兼容至API 14。如标题所述,我得到的错误是

java.lang.RuntimeException: Unable to get provider androidx.work.impl.WorkManagerInitializer: java.lang.ClassNotFoundException: Didn't find class "androidx.work.impl.WorkManagerInitializer" on path: /data/app/com.example.myapp.apk
at android.app.ActivityThread.installProvider(ActivityThread.java:4822)

我没有任何自定义的WorkManager配置/初始化,我只是添加了

implementation 'androidx.work:work-runtime:2.2.0'

达到我模块的等级,并非常典型地使用它来安排后台操作。

我在Androd 19中遇到了同样的问题

阅读这个和这个我解决了使用

等级:

multiDexEnabled true

Java:

public class MyApp extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}

问题是由我在defaultConfig中的multiDexEnabled true引起的,原因未知。经过一番挖掘和问题,我发现了它

最新更新