Freeline让Android Studio快速编译

转载请标明出处:http://blog.csdn.net/donkor_/article/details/53895515

前言
由于谷歌已经对外宣布停止Eclipse开发工具的支持,所以现在大部分人使用Studio进行Android开发。但是Studio在编译的过程中,由于电脑本身的缺陷,配置过渣,编译起来,那个叫人头疼,分分钟都有种“让子弹飞会儿”的感觉。一飞就是几分钟或者十几分钟,实在是太没有效率了。好在,为了解决这个伤脑筋的问题,蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队给出了Freeline,有效地减少了日常开发中的大量重新编译与安装的耗时。

▲Freeline是什么
Freeline一个基于动态替换的编译方案,5月阿里集团内部开源,稳定性方面:完善的基线对齐,进程级别异常隔离机制。性能方面:内部采用了类似Facebook的开源工具buck的多工程多任务并发思想, 并对代码及资源编译流程做了深入的性能优化。秒级完成增量包编译,相比目前instant-run,buck,layoutcast等方案快数倍速度。

GitHub地址:https://github.com/alibaba/freeline
详细介绍:https://yq.aliyun.com/articles/59122?spm=5176.8091938.0.0.1Bw3mU

▲是否值得用
Freeline给出来之后,外界对它的大多都是褒义评价,比如”闪电编译“,”节省时间“,”提高效率“等等…但是,请 注意 前方高能!请 注意 前方高能!请 注意 前方高能!尽管Freeline被描述的如此天花乱坠,在实际开发过程中,使用过的同学都知道,隐藏的坑,也数不过起来。如果想玩玩的话,那就接着往下看,如果只是想了解一下,过段时间再看看,那这篇文章看到这里就可以了。如果真的想集成到开发项目中去,就做好填坑的准备。以上,为个人言论仅供参考。好了,废话又说了一堆,下面直接开始介绍如何使用。

▲搭建Python环境
首先,Freeline是采用Python编写的,所以我们需要安装python环境,根据网上的说法,最好使用python2.7+版本。 所以我们需要先安装python环境,这里以电脑系统win7为例,其他系统安装python环境请自行谷歌、百度。

↓↓↓ 点击以下地址进行下载,选择python2.7+最新版本.msi文件即可

https://www.python.org/downloads/%20zh

下载完成进行安装,猛击下一步,当看到如下界面,更改选项”Entire feature will be install on hard drive“,该选项会自动配置电脑上的环境变量。然后继续猛击下一步,直至完成安装。
这里写图片描述

※ 注:这时候可以打开DOS命令窗口,输入python,出现如下界面说明环境配置安装成功。失败的话会提示”‘python’不是内部或外部命令,也不是可运行的程序或批处理文件“
这里写图片描述

※ 但:出现 ”’python‘不是内部或外部命令,也不是可运行的程序或批处理文件“,失败了也没有关系,可以修改一下环境变量,把地址照着下图,放在path最后就可以了。如果还是不行就重启电脑。前方高能! 如果再不行,那就拍拍电脑吧,再不行就谷歌和百度吧。总有一款适合你。以上,环境安装完成。
这里写图片描述

▲使用Freeline
配置根目录下的 build.gradle(工程级别的build.gradle文件)
这里写图片描述

配置项目下面的 build.gradle(Module级别的build.gradle文件)
这里写图片描述

自定义的 Application,同时不要忘了在AndroidManifest中application标签下配置MyApplication

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        FreelineCore.init(this);
    }
}

在studio中Terminal菜单标签下输入”gradlew initFreeline -Pmirror“初始化项目。首次执行initFreeline 要下载很多东西,慢慢等就行。
这里写图片描述

下载成功之后,项目目录结构大概如下
这里写图片描述

第一次运行项目需要全局编译并安装到手机上,在Terminal菜单标签下输入” python freeline.py -f “。然后想想就知道,没错,接下来的事情就是接着等
这里写图片描述

接下来,随便修改某一项代码,使用增量编译安装到手机上,在Terminal菜单标签下输入” python freeline.py “,你会发现,这感觉分分钟飞起。我用自己以前随便写的一个TextViewDemo测试,结果如下,3.5秒,确实爽歪歪。
这里写图片描述

▲Freeline常见问题
坑这么多,埋坑的总是有的。常见问题如下,如果在下面的链接还找不到方法可以解决,欢迎留言或者加群讨论

https://github.com/alibaba/freeline/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

http://blog.csdn.net/wangjiang_qianmo/article/details/53510332

Ps:
1.如果删除带id的资源则必须手动强制全量更新,增量更新会报错
2.Freeline目前只支持debug buildType,并且不支持混淆
3.gradle的改变都会触发全量更新
4.从Freeline的编译切换到as的编译,必须先clean build一次
5.增量更新有可能启动不了关闭的app,但修改已经更新到app里,手动启动app即可看到


About me
Email :donkor@yeah.net
Android开发交流QQ群 : 537891203
Android开发交流群

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值