我尝试在我的一个项目中实现workmanager api。应用程序编译成功,但当我尝试使用workmanager执行某些工作时,它会抛出以下运行时错误:
Runtime Error
Failed resolution of: Landroidx/work/impl/utils/futures/AbstractFuture;
我所知道的这个错误是当编译时可用的类在运行时不可用时发生的。但我似乎不是这样,因为当我反编译apk时,所有必要的类(包括 androidx.work.impl.utils.futures.AbstractFuture
)我们在场!我尝试了WorkRuntime库的2.3.4、2.4.0和2.5.0版本,但似乎都不起作用。如果有人能帮我解决这个问题,那真的很有帮助
注意:仅供参考,我正在处理的项目非常旧,不幸的是,它仍然使用ApacheAnt。而且,我们很难很快迁移到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
...
1条答案
按热度按时间dgiusagp1#
我今天修复了一个类似的问题,这个问题实际上是一个缺失的问题
ListenableFuture
,即使异常头看起来和你的一样。我以前已将此添加到生成文件中:
我这样做是为了避免类复制错误,因为guava是从其他地方导入的(也可以看到这个问题)。在依赖于guava的依赖关系停止之后,以前修复问题的导入现在导致了问题本身。再次删除它修复了问题。