我有一个smali文件,我想知道如何通过smali库将smali文件转换为org.jf.dexlib2.iface.ClassDef
对象。
我现在有了一个主意:smali文件的dex文件将通过baksmali.disassembleDexFile()
方法获得,并且可以生成一个新的DexFile对象以获得org.jf.dexlib2.iface.ClassDef
对象,但是如果dex足够大,太昂贵了。
所以请大家帮我。
答案 0 :(得分:1)
如果您自己有dex文件,只需使用DexFileFactory.loadDexFile("/path/to/dex/file.dex", Opcodes.getDefault());
,然后遍历这些类,直到找到您感兴趣的类的ClassDef。
如果没有dex文件,只需先使用smali将smali文件组装成dex文件即可。