1

我有几个使用Xposed钩子在第三方应用程序中加载和执行的类。

其中一种方法会占用大量资源,并使运行的应用程序崩溃。我想我会使用WorkManager运行它,这样负载将由系统自动处理。

注入的类不是普通 Android 应用程序的一部分(清单没有应用程序标签,即使有它也不会像普通应用程序一样运行)。相反,这些类在第三方应用程序中编译和加载,然后直接在内部执行。

由于WorkManager依赖应用程序来创建实例,我想也许我可以手动创建实例。

所以在我调用的代码中的某个地方:

WorkManager.initialize(context, new Configuration.Builder().build());

然后在我的方法中我使用了类似的东西:

WorkManager mWorkManager = WorkManager.getInstance();
mWorkManager.enqueue(OneTimeWorkRequest.from(MyWorker.class));

但是在初始化期间,我收到以下错误:

Resources$NotFoundException: Resource ID #0x7f020002 type #0x3 is not valid

我不确定WorkManager正在寻找什么资源,正如我之前提到的,我只有几个类,没有res文件夹

我愿意接受其他替换WorkManager的建议

4

1 回答 1

0

WorkManager 确实会寻找资源来确定是否需要Scheduler根据 API 级别启用/禁用。这是有问题的实际文件(https://android.googlesource.com/platform/frameworks/support/+/androidx-master-dev/work/workmanager/src/main/res/values/values.xml)。

我不知道为什么这些资源没有正确合并。

于 2019-05-21T23:58:19.033 回答