androidx.work.impl.WorkManagerInitializer:java.lang.ClassNotFoundException:路径为/data/app/app-2.apk

时间:2019-10-28 17:43:51

标签: androidx android-workmanager

我最近将旧应用的后台服务迁移到了WorkManager。在最新的设备(包括到 sdk 22 )上,它看起来不错,可以运行重复的工作单元,甚至可以按预期在设备重新启动后安排它们。

问题是,当我针对旧版本(此处的旧版本相对)进行测试时,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'

非常了解我的模块,并典型地使用它来安排后台操作。

2 个答案:

答案 0 :(得分:1)

我在 Androd 19

中遇到了相同的问题

阅读Converting CSV file to shapefile - but want polygon not pointsthis我用

解决了

等级:

multiDexEnabled true

Java:

public class MyApp extends Application {

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

答案 1 :(得分:0)

问题是由multiDexEnabled true引起的,出于未知原因,我在defaultConfig中拥有该问题。经过一番挖掘和一个issue

,我发现了它