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,看来可以动态换肤啊
相关推荐
原版的LayoutCast死板的按照一定规则去搜索目录,造成某些工程不适用LayoutCast,所以对此做出优化。
LayoutCast可以在应用不重启的情况下,将res文件夹下的改动直接同步到手机上。使用LayoutCast,可以节约Android开发者的大量编译等待时间,非常适合真机调试界面的时候使用,推荐每一位开发者安装该利器。BUCK很快,...
文章地址: http://blog.csdn.net/rzleilei/article/details/52334878 为文章中需要的依赖包
Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队在Android平台上的量身定做的一个基于动态替换的编译方案,相比目前instant-run,buck,layoutcast等方案快数倍速度。
源码LayoutCast,把代码和资源文件的改动直接同步到手机上,应用不需要重启,省去了编译运行漫长的等待。BUCK很快,但入侵性强,项目改动大,LayoutCast对项目改动小。只支持mac,对java代码的支持只限于ART模式运行...