LayoutCast :大神作品,我等楷模。
把代码和资源文件的改动直接同步到手机上,应用不需要重启。省去了编译运行漫长的等待,比较适合真机调试的时候使用,支持5.0以上。
git:https://github.com/mmin18/LayoutCast
简单理解一下实现原理:
1.通过as插件调用Python脚本来进行把有改动的代码和资源进行编译和打包,在bulid/lcast下,classes.dex和res.zip。
2.用adb来实现手机端和pc的通信,把.dex和.zip 发到手机上。
3.替换.dex和res
一.入口:
二.替换.dex,这里的思想和动态加载差不到,但不明白为什么把改动的dex(并不是app全部的dex)更新就可以做到代码更新,可能是5.0以上art的新特性吧。
三.替换res,看来可以动态换肤啊