incremental-compiler
incremental-compiler copied to clipboard
修改内部类后会报找不到方法错误
例如:

修改内部类的方法参数,比如增加一个参数后会crash:

时机查看dex文件改动已经编译进去了
你是用什么方式加载这个dex的
使用普通热修复方式,把dex加载到最前面,目前打个日志是没问题的,但是内部类的修改会报上面错误
噢,我想了想,这应该是正常的?
因为你其他地方调用的还是原来的方法,比如你把onClick(String s)改成了onClick(),增量编译只是把这个有改动的文件打包进去,所以最后热修复加载的只有onClick()方法,但是旧的代码调用的还是onClick(String s),所以就报找不到方法了。
所以根本原因在于使用内部类的那个类指纹没有变化 所以没编译到dex里面
是的,不过,当你修改方法签名后,调用它的类不应该会报错吗(在编译阶段)?因为没有了原来的方法
编译是编译改动的 不会报错
那AS会报错吗