福利-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:是的
      • 子沐一:不支持KT,观望...
        子沐一:@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