我最近将旧应用的后台服务迁移到了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'
非常了解我的模块,并典型地使用它来安排后台操作。
答案 0 :(得分:1)
我在 Androd 19
中遇到了相同的问题阅读Converting CSV file to shapefile - but want polygon not points和this我用
解决了等级:
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