我需要获取应用程序的所有资源的列表。由于android没有提供特定的,我开始使用反射来获取应用程序的R类并阅读其字段。代码如下:
//
这适用于相同的应用程序和我开发的另一个应用程序(但没有签名/ zipaligned。安装了调试密钥),但不与其他应用程序一起安装。然后它抛出这个异常(在这个例子中我用facebook应用程序试了一下):
W/System.err﹕ java.lang.ClassNotFoundException: Didn't find class "com.facebook.katana.R" on path: DexPathList[[zip file "/data/app/com.facebook.katana-1.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
W/System.err﹕ at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
W/System.err﹕ at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
W/System.err﹕ at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
W/System.err﹕ at com.example.restest.MyActivity$Adapter.listDrawables(MyActivity.java:59)
W/System.err﹕ at com.example.restest.MyActivity$Adapter.<init>(MyActivity.java:46)
W/System.err﹕ at com.example.restest.MyActivity.set(MyActivity.java:37)
More, unimportant stuff
我忘记了什么,还是需要一些权限?我的应用需要root,所以这不会有问题!
非常感谢你!