Unable to instantiate application com.imooc.hotfix.App: java.lang.RuntimeException: kotlin.TypeCastException: null cannot be cast to non-null type java.lang.Class<kotlin.Any>
断点调试的时候发现是在执行下面这段代码报的错:
// DexPathList 类里面 makeDexElements 方法
val makeDexElements = ReflectUtil.findMethod(
dexPathList,
“makeDexElements”,
List::class.java,
File::class.java,
List::class.java,
ClassLoader::class.java
)
是反射获取方法不被允许吗?
之前老师说5.0及其以上的系统(art虚拟机)会在“安装包安装的时候”将dex文件合并编译成机器码,上面的热修复实现是在程序运行的时候执行的,基于这个逻辑是应该无效吗?