Java 从下载的dex文件加载类时捕获ClassNotFound异常
我正在尝试在我的android应用程序中实现热修复机制。在谷歌搜索了一段时间后,以下是我所做的:Java 从下载的dex文件加载类时捕获ClassNotFound异常,java,android,classloader,dexclassloader,Java,Android,Classloader,Dexclassloader,我正在尝试在我的android应用程序中实现热修复机制。在谷歌搜索了一段时间后,以下是我所做的: 我生成了一个dynamic.jar文件,其中包含我要修补的类。(我正在使用eclipse和ADT) 使用dx--dex--output=patch.jar dynamic.jar,我成功地创建了一个包含classes.dex 在我的android代码中,我用DexClassLoader加载了这个类:新的DexClassLoader(patchFile.getAbsolutePath(),output
dynamic.jar
文件,其中包含我要修补的类。(我正在使用eclipse和ADT)dx--dex--output=patch.jar dynamic.jar
,我成功地创建了一个包含classes.dex
新的DexClassLoader(patchFile.getAbsolutePath(),outputFolder.getAbsolutePath(),null,getClassLoader().getParent()
(注意我使用的是getParent()).dex
文件在outputFolder
CUSTOM\u LOADER.loadClass(className)
加载类时,我得到了ClassNotFoundException
DexFile
列出了.dex
文件中的所有类,新类就在那里。甚至可以从Internet下载编译类的子集吗
提前感谢。制作修补程序是绝对必要的?不管怎样,它不能加载哪个类--您的一个?您没有发布异常的详细信息。您是否验证了最终结果路径是否正确?JRE可能不想从您的JAR文件外加载类。