我正在使用dexlib2从dex file替换静态字符串。作为第一步,我写了下面的代码,以在DEX文件中获取类:
try {
DexBackedDexFile dexFile = DexFileFactory.loadDexFile("classes.dex", 24);
Iterator iterator = dexFile.getClasses().iterator();
while (iterator.hasNext()) {
System.out.println("Value: " + iterator.next() + " ");
}
System.out.println("done");
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
问题是它正在打印出我的代码以外的所有类。
有人面临同一问题吗?另外,为了澄清,我的dex文件是来自多个dex文件的dex文件之一,因为我的应用使用了多端功能。
这是多DEX文件的问题。在迭代其他DEX文件时,它能够找到类。