我试图在我的Android应用中实现热修复机制。谷歌搜索了一段时间后,这就是我所做的:
dynamic.jar
文件,其中包含我要修补的类。 (我使用的是eclipse和ADT)dx --dex --output=patch.jar dynamic.jar
,我设法创建了一个包含classes.dex
new DexClassLoader(patchFile.getAbsolutePath(), outputFolder.getAbsolutePath(), null, getClassLoader().getParent()
(注意我使用了getParent()).dex
outputFolder
文件已成功解压缩
CUSTOM_LOADER.loadClass(className)
加载课程时,我得到ClassNotFoundException
所以我想知道出了什么问题?我使用DexFile
列出了.dex
文件中的所有类,新类就在那里。甚至可以从Internet下载编译类的子集吗?
提前致谢。