I tried to implement the WorkManager API in one of my projects. The app compiles successfully, but when I try to execute some work using WorkManager, it throws the below runtime error:
Runtime Error
Failed resolution of: Landroidx/work/impl/utils/futures/AbstractFuture;
Что я знаю об этой ошибке, так это то, что она возникает, когда какой-то класс, который был доступен во время компиляции, недоступен во время выполнения. Но со мной это не похоже, потому что, когда я декомпилировал свой APK, там были все необходимые классы (включая androidx.work.impl.utils.futures.AbstractFuture
)! Я пробовал версии 2.3.4, 2.4.0 и 2.5.0_Alpha01 библиотеки рабочего времени, но ни одна из них, похоже, не работала. Было бы очень полезно, если бы кто-нибудь помог мне решить эту проблему. знак равно
Примечание. К вашему сведению, проект, над которым я работаю, очень старый и, к сожалению, он все еще использует Apache Ant. Кроме того, нам будет непросто перейти на Gradle в ближайшее время, поскольку это повлияет на всю архитектуру и займет огромное количество времени. Таким образом, любое решение, предлагающее изменения в build.gradle, не принесет никакой пользы. :)
РЕДАКТИРОВАТЬ: если кому-то нужно просмотреть журнал ADB:
...
09-05 20:47:01.536 25688 25688 W System.err: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/work/impl/utils/futures/AbstractFuture;
09-05 20:47:01.536 25688 25688 W System.err: at androidx.work.WorkManager.initialize(WorkManager.java:210)
09-05 20:47:01.536 25688 25688 W System.err: at androidx.work.impl.WorkManagerInitializer.onCreate(WorkManagerInitializer.java:40)
09-05 20:47:01.537 25688 25688 W System.err: at android.content.ContentProvider.attachInfo(ContentProvider.java:2102)
09-05 20:47:01.537 25688 25688 W System.err: at android.content.ContentProvider.attachInfo(ContentProvider.java:2076)
09-05 20:47:01.537 25688 25688 W System.err: at android.app.ActivityThread.installProvider(ActivityThread.java:7430)
09-05 20:47:01.537 25688 25688 W System.err: at android.app.ActivityThread.installContentProviders(ActivityThread.java:6934)
09-05 20:47:01.537 25688 25688 W System.err: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6851)
09-05 20:47:01.537 25688 25688 W System.err: at android.app.ActivityThread.access$1600(ActivityThread.java:242)
09-05 20:47:01.537 25688 25688 W System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2063)
09-05 20:47:01.537 25688 25688 W System.err: at android.os.Handler.dispatchMessage(Handler.java:107)
09-05 20:47:01.537 25688 25688 W System.err: at android.os.Looper.loop(Looper.java:227)
09-05 20:47:01.537 25688 25688 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7822)
09-05 20:47:01.537 25688 25688 W System.err: at java.lang.reflect.Method.invoke(Native Method)
09-05 20:47:01.537 25688 25688 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
09-05 20:47:01.537 25688 25688 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1026)
09-05 20:47:01.537 25688 25688 W System.err: Caused by: java.lang.ClassNotFoundException: androidx.work.impl.utils.futures.AbstractFuture
09-05 20:47:01.537 25688 25688 W System.err: ... 15 more
...