美文网首页APPAndroid知识程序员
Freeline让Android Studio快速编译

Freeline让Android Studio快速编译

作者: Donkor | 来源:发表于2017-01-15 21:47 被阅读237次

前言
由于谷歌已经对外宣布停止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即可看到

关于我

相关文章

网友评论

    本文标题:Freeline让Android Studio快速编译

    本文链接:https://www.haomeiwen.com/subject/zjrubttx.html