大家已经使用Android studio已有好长见时间了,从1.0版本到2.0再到3.0,Android studio的编译速度实在是个梗,怎么也迈不过,我把我的经验和遇到的坑总结下来,大家一起讨论学习一下吧。
1.使用Android studio的install run
Instant Run
点击“Run”或“Debug”时,Android Studio 的 Instant Run 功能即会将代码和资源更改推送至正在运行的应用。它可以智能地理解这些更改,并且通常无需您重启应用或重新构建 APK 即可传递它们,让您能够即时看到更改效果。仅当将应用部署到运行Android 5.0(API级别21)或更高版本的目标设备时,才支持install run。Android studio在2.3以下的版本里我觉得install run然而并没有什么卵用,建议升级Android studio到2.3(help-->check for update),升级完后会提示更新gradle,把gradle升级2.3.0,你会发现build速度快了一半还多
2.使用free line
你可能会发现,即使你更新了Android studio你的编译速度还是有些慢(在你的方法数超过66536时3-5分钟吧),反正我忍不了,我发现了free line,Freeline是蚂蚁金服旗下开发的一个基于动态替换的编译方案,运用到项目后可以极大的提高项目编译速度。相比较现在的instant-run,buck,layoutcast等方案快数倍。
开源地址:
https://github.com/alibaba/freeline
相关原理介绍:
https://yq.aliyun.com/articles/59122?spm=5176.8091938.0.0.1Bw3mU
接下来我们就开始集成Freeline到项目中去,主要讲一下我在配置的过程中遇到的问题。
首先,Freeline是采用Python编写的,所以我们需要安装python,配置环境变量,根据网上的说法,最好使用python2.7版本。我试了比2.7版本高的,是真的不可以,貌似他们做的没有那些支持。我的使用方式比较简单,直接安装插件:
File->Settings->plugins->搜索Freeline即可
安装后记得重启Android studio就可以在项目中直接点击相应的图标使用,其实也是执行python freeline.py这条命令。
如果你的build文件配置了渠道(productFlavors),你需要配置
freeline {
hack true
productFlavor 'self'//你想要打包的渠道
}
否则会报错。
还有再报错的话大家可以free line的开源地址上找到解决办法
总结:
JRebel for Android话说也很好用,但是不免费,而且破解版的都赶不上版本更新,所以建议还是用free line,它的原理有点类似热修复,只更新安装你更改过的代码,build安装超快,45秒以内吧。
225


速度&spm=1001.2101.3001.11974&articleId=62418588&d=1&t=3&u=babd2713c59442c0b12ae2f305fda836)

被折叠的 条评论
为什么被折叠?



