福利-Android增量编译3~5秒

作者: wutongke | 来源:发表于2016-11-29 23:00 被阅读4160次

更新:freeline 官方有了doc:https://www.freelinebuild.com/docs/

最近在浏览github trending的时候,发现freeline连续几天上榜,freeline刚开源的时候,试用过一次,当时apt和lambda都不支持,所以就放弃了。看了freeline最近的update log,发现apt、databinding等好多特性都开始支持了,非常开心地试用了一下,非一般的感觉,所以安利给大家。

概述

Freeline是由蚂蚁聚宝Android团队开发的一款针对Android平台的增量编译工具。它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。
Freeline能够为Android开发者节省很多喝杯咖啡的时间 : )

具体原理的话可以参考中文原理说明

基本使用

  1. 在app gradle中配置:
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.antfortune.freeline:gradle:0.8.2'
    }
}```
2. 在moudle gradle中配置

apply plugin: 'com.antfortune.freeline'
android {
freeline {
hack true
//如果配置了多Flavor,可以在这里指定编译的Flavor
productFlavor "develop"
}
}

更多的配置可参考[Freeline DSL References](https://github.com/alibaba/freeline/wiki/Freeline-DSL-References)

3. 命令行执行
首先执行

./gradlew initFreeline

然后第一次全量编译

python freeline.py -f

之后就可以愉快地增量编译了,速度之快,啧啧啧

python freeline.py

![Paste_Image.png](http:https://img.haomeiwen.com/i1407686/fb087b4e472310e6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)用时1.6秒,加上界面重新启动1,2秒,一般5秒可以看到修改的效果,幸福过倍增。

4. 插件化工具
可以在android studio中搜索插件**freeline**,安装后以上三步即可省略,一步到位。
不过使用过程中感觉插件还是略有bug,运气好的话非常顺利,运气不好就各种问题了,所以还是推荐自己配置freeline,然后使用命令行编译的方式。
5. 扩展阅读
[Android增量编译3~5秒的背后](http://www.jianshu.com/p/37e31d924be9)

##Other
欢迎关注公众号**wutongke**,每天推送移动开发前沿技术文章:

![wutongke](http:https://img.haomeiwen.com/i1407686/8f64e33d76075d40.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

推荐阅读:

[Android增量编译3~5秒的背后](http://www.jianshu.com/p/37e31d924be9)

相关文章

网友评论

  • 刻薄小北:没感觉快啊,怎么回事?
  • GQS:和 instant run 有啥区别
  • smallstrong:项目中有jpush 必须隐掉权限才给玩 不然fail
    王元_Trump: @smallstrong 那我就不试了把
    smallstrong:@王元_Trump 前两天用是这样的 不过能用 只不过感觉和as自带的编译速度差不多 笔记本风扇还是呼呼的吹 唯一爽的一点是freeline把具体的哪个部分编译花了多久给打印出来了 ,速度快 暂时真心么感觉
    王元_Trump: @smallstrong 极光不兼容?
  • 27c7534af0e9:python是个什么样的语言?
    它能够做什么?
    what is apt?
    what is lambda?
    53ba3f4ab566:@NNJ 安利一波 :http://www.liaoxuefeng.com/
  • fuuuuuccccck:用插件 一步搞定了。。
    舞影凌风:@wutongke 你插件更新到最新版本,现在挺稳定了 :smile:
    wutongke:@ArthurChi 可以在android studio中搜索插件freeline,安装后以上三步即可省略,一步到位。
    不过使用过程中感觉插件还是略有bug,运气好的话非常顺利,运气不好就各种问题了,所以还是推荐自己配置freeline,然后使用命令行编译的方式。
    da27c260cc85:@fuuuuuccccck 麻烦问一下,插件叫什么
  • OneBelowZero:暂时 还不稳定 各种问题 不过值得尝试
  • 尛坏蛋:吃内存,占满CPU,动不动就是无法申请更多内存,没有16GB内存,都不好用这玩意来搞事
    27c7534af0e9: @wutongke 16g,32g指的是什么
    wutongke:@尛坏蛋 是挺吃内存的,用android studio感觉都是16g起步,不然是真卡,32g好一些
  • 829dc4d1f785:freeline1.0.1的时候我研究过 有兴趣的可以看下我的这个 献丑了 https://danyunliuhen.github.io/ :stuck_out_tongue_closed_eyes:
  • 9711922c6b29:我编译报错在lambda这,就是前几天弄的吧。还是先观望
  • 89c8cd05fb90:用这东西,我的顶配15寸macbook pro一整天风扇都是呼呼的吹,其实现在android studio 没有那么慢了
    89c8cd05fb90:刚出来的时候使用的,不知道现在更新没有,我觉得android studio也不是很慢了
    wutongke:@inno_chen 首次编译确实如此,而且内存占用确实变大了,但是增量编译的时候我觉得还好
  • hfk:这个用安装python吗
  • Hidetag:对apt的支持还是不够,我这边没法用
    wutongke:@S_H_I_E_L_D 可以在github上提issue
  • 君临城的狮子:这个是系统必须安装并配置了Python吧
    wutongke:是的
  • cd92a10640dd:不支持KT,观望...
    cd92a10640dd:@wutongke 也不算少吧
    wutongke:@李子洋 kotlin?这个目前用的还比较少吧
  • Waizau:项目一大,或者删除了某些东西,一全量编译就pujie了
    27c7534af0e9:@带心情去旅行 i dont know
    带心情去旅行:@NNJ 扑街 paogai?
    27c7534af0e9: @Waizau pujie是什么意思
  • XxooXxoo:支持编译打包嘛
    皮球二二: @XxooXxoo 不支持

本文标题:福利-Android增量编译3~5秒

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