3

我有一个包含代码和资源 ( ResourceBundle) 的 jar 文件。
我用那个 jar 在 android studio 中创建了一个简单的项目,编译它,提取.apk并复制classes.dex到第二个项目。还将提取的 .apk 中的资源复制到第二个项目。

从第二个项目中,我从 .dex 文件中加载了一个类。当从该类(从 dex 文件)运行一个读取资源的方法时,它不会找到它,它会抛出一个异常:

Caused by: java.util.MissingResourceException: Can't find resource for bundle ...

失败的行:

ResourceBundle resource = ResourceBundle.getBundle("xx.yy.zz.resources.aa", Locale.getDefault());

如果我只是运行:

ResourceBundle resource = ResourceBundle.getBundle("xx.yy.zz.resources.aa", Locale.getDefault());

从第二个项目(不是从 dex 中)它可以正常工作 - 将获得资源。

有什么想法吗?

谢谢

4

1 回答 1

1

最后它起作用了,想要分享:而不是使用 classes.dex 使用 .apk 作为类加载器。它知道如何从其中的 dex 中读取函数并从中获取资源。

于 2014-09-03T12:33:01.320 回答