Ошибка возникает, когда я экспортирую APK.
C:\app: Error: Remove androidx.work.impl.WorkManagerInitializer from your AndroidManifest.xml when using on-demand initialization. [RemoveWorkManagerInitializer]
Explanation for issues of type "RemoveWorkManagerInitializer":
If an android.app.Application implements
androidx.work.Configuration.Provider,
the default androidx.work.impl.WorkManagerInitializer needs to be removed
from the
AndroidManifest.xml file.
Я не понимаю, почему я не получил такую ошибку в версии 2.2.0, поскольку «Инициализация по требованию» появилась с версии 2.1.0.
Согласно https://developer.android.com/topic/lib ... ve-default
Я не уверен, правильно ли включать следующее в мой AndroidManifest.xml.
android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="${applicationId}.workmanager-init"
tools:node="remove" />
В настоящее время это мой класс Application.
Класс MyApplication
public class MyApplication extends MultiDexApplication implements Configuration.Provider {
private static MyApplication me;
@Override
public void onCreate() {
super.onCreate();
me = this;
}
public static MyApplication instance() {
return me;
}
@NonNull
@Override
public Configuration getWorkManagerConfiguration() {
return new Configuration.Builder()
.build();
}
}
Как я создаю WorkManager
public static WorkManager getWorkManager() {
MyApplication myApplication = MyApplication.instance();
if (myApplication == null) {
// Very rare edge case. Not sure how it happens. But, it happens

return WorkManager.getInstance();
} else {
return WorkManager.getInstance(myApplication);
}
}
Похоже, что существует редкая вероятность того, что «Инициализация по умолчанию» (WorkManager.getInstance()) также выполняется, когда класс Application имеет значение null.
Я могу легко устранить ошибку во время экспорта APK, включив следующий поставщик . Но правильно ли это?
Подробнее здесь: https://stackoverflow.com/questions/597 ... th-default