我有一个包含代码和资源的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),它将正常工作 - 将获得资源。
任何想法的人?
由于
答案 0 :(得分:0)
最后它有效,想分享: 而不是使用classes.dex使用.apk作为类加载器。 它知道如何从里面的dex中读取函数并从中获取资源。