从dex文件运行方法时无法读取资源

时间:2014-09-02 09:48:55

标签: android android-resources dex dexclassloader

我有一个包含代码和资源的jar文件(ResourceBundle) 我在android studio中创建了一个带有该jar的简单项目,编译它,提取.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),它将正常工作 - 将获得资源。

任何想法的人?

由于

1 个答案:

答案 0 :(得分:0)

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