美文网首页
Freeline框架分析(一)开篇

Freeline框架分析(一)开篇

作者: David_zhou | 来源:发表于2018-11-07 15:12 被阅读13次

     Freeline 是一款 Android 平台上的秒级编译方案,能够显著地提高 Android 工程的编译速度。

    实际项目中修改文件重新生效的时间在10s以内,可以极大的提升编码的效率。

    Freeline 支持的特性如下:

    支持标准的多模块 Gradle 工程的增量构建

    并发执行增量编译任务

    进程级别异常隔离机制

    支持 so 动态更新支持 resource.arsc 缓存

    支持 retrolambda

    支持 DataBinding

    支持各类主流注解库(APT)

    支持 Windows,Linux,Mac 平台

    因为Freeline使用的是python2,所以使用之前需要安装python2,安装过程在此略过。下面简单介绍Freeline的命令行接入方式。

    1 首先修改project-level 的 build.gradle,加入 freeline-gradle 的依赖:

    buildscript{

        repositories{    

            jcenter()

        }

    dependencies {

            classpath 'com.antfortune.freeline:gradle:x.x.x'

        }

    2 然后,在你的主 module 的 build.gradle 中,应用 freeline 插件的依赖

    apply plugin: 'com.antfortune.freeline'

    android {

    .........

        freeline { 

            hack true

             //如果配置了多Flavor,可以在这里指定编译的

            productFlavor "develop"

         } 

    }

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

    到此接入完成,开始下面命令初始化项目:

    gradlew initFreeline

    初始化操作只需要进行一次,然后开始编译项目。

    python freeline.py 

    然后后面每一次都使用上述命令编译更新项目即可。

            接入的大概流程如上所述,如有问题可以参考这篇文章

    因为十分好奇为什么Freeline可以做到加快编译的效果,下面将对Freeline进行一些详细的分析。

    Freeline框架整体上包含如下四部分:

    Python运行编译框架

    Gradle plugin部分

    Freeline android代码部分

    编译使用到的工具等

    接下来我们将逐个部分进行分析。

    相关文章

      网友评论

          本文标题:Freeline框架分析(一)开篇

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