Android最佳构建工具介绍


                         本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处!


Instant Run为我们提供了增量更新的方式,支持 gradle2.0和Android4.0以上版本,让构建项目变的快速,同时由于multiDex出现,增量更新也变的简单,但现实状况是Studio编译依然卡卡。

Facebook的Buck是不错的,但它只支持Linux开发机;而Alibaba 开源的Freeline却可以在Windows机器上使用,根据依赖关系充分利用缓   存最少编译,并开启SocketServer保证crash同时也可以进行编译,最终实现全量编译和增量编译同时进程,提高2-3倍的编译速度。   

注意事项

1、只能使用2.2以上的gradle版本和python2.7及以下版本,配置好环境变量

2、使用jcenter编译而非mavenCenter,因为某些gradle后者没有

3、此文件里的gradle版本需要更换,csdn限制只能传80M以内的文件,大家只好到官网下载,地址:gradle3.3


4、

主项目的build.gradle加入如下内容:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.antfortune.freeline:gradle:0.8.5'
    }
}

apply plugin: 'com.antfortune.freeline'

dependencies {
    compile 'com.antfortune.freeline:gradle:0.8.5'
}
目前最高版本是0.8.5

5、配置完,在Android Studio的Terminal里执行如下命令,代表从国内镜像下载,要快的多。

gradlew initFreeline -Pmirror

其他特色Features

  • 支持标准的多模块 Gradle 工程的增量构建
  • 并发执行增量编译任务
  • 进程级别异常隔离机制
  • 支持 so 动态更新
  • 支持 resource.arsc 缓存
  • 支持 retrolambda
  • 支持 DataBinding
  • 支持各类主流注解库
  • 支持 Windows,Linux,Mac 平台

以下列表为 Freeline 支持的热更新情况:

  Java drawable, layout, etc. res/values native so
add
change
remove x -

Freeline 已经分别在 API 17,19,22,23 的 Android 模拟器、Android 6.0 Nexus 6P 以及 Android 4.4 锤子手机上经过测试。如果想要充分体验 Freeline 增量编译的速度的话,最好使用 Android 5.0+ 的设备。

限制Limitations

  • 第一次增量资源编译的时候可能会有点慢
  • 不支持删除带 id 的资源,否则可能导致 aapt 编译出错
  • 暂不支持抽象类的增量编译
  • 不支持开启 Jack 编译
  • 不支持 Kotlin/Groovy/Scala
欢迎 大家提意见!

官方地址:https://github.com/alibaba/freeline/

另外项目打包工具Jenkins也值得研究一下:http://blog.csdn.net/mabeijianxi/article/details/52680283

猜你喜欢

转载自blog.csdn.net/liuxian13183/article/details/54667566