Android最佳构建工具介绍

简介:                          本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处!Instant Run为我们提供了增量更新的方式,支持 gradle2.0和Android4.0以上版本,让构建项目变的快速,同时由于multiDex出现,增量更新也变的简单,但现实状况是Studio编译依然卡卡。


                         本文来自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

目录
相关文章
|
20天前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
12 0
|
1月前
|
XML 缓存 Android开发
Android开发,使用kotlin学习多媒体功能(详细)
Android开发,使用kotlin学习多媒体功能(详细)
94 0
|
2月前
|
Android开发
安卓SO层开发 -- 编译指定平台的SO文件
安卓SO层开发 -- 编译指定平台的SO文件
30 0
|
1月前
|
设计模式 人工智能 开发工具
安卓应用开发:构建未来移动体验
【2月更文挑战第17天】 随着智能手机的普及和移动互联网技术的不断进步,安卓应用开发已成为一个热门领域。本文将深入探讨安卓平台的应用开发流程、关键技术以及未来发展趋势。通过分析安卓系统的架构、开发工具和框架,本文旨在为开发者提供全面的技术指导,帮助他们构建高效、创新的移动应用,以满足不断变化的市场需求。
18 1
|
3月前
|
Android开发 开发者 iOS开发
APP开发后如何上架,上架Android应用市场前要准备什么
移动应用程序(APP)的开发已经成为现代企业和开发者的常见实践。然而,开发一个成功的APP只是第一步,将其上架到应用商店让用户下载和使用是实现其潜力的关键一步。
|
1月前
|
机器学习/深度学习 调度 Android开发
安卓应用开发:打造高效通知管理系统
【2月更文挑战第14天】 在移动操作系统中,通知管理是影响用户体验的关键因素之一。本文将探讨如何在安卓平台上构建一个高效的通知管理系统,包括服务、频道和通知的优化策略。我们将讨论最新的安卓开发工具和技术,以及如何通过这些工具提高通知的可见性和用户互动性,同时确保不会对用户造成干扰。
33 1
|
11天前
|
XML 开发工具 Android开发
构建高效的安卓应用:使用Jetpack Compose优化UI开发
【4月更文挑战第7天】 随着Android开发不断进化,开发者面临着提高应用性能与简化UI构建流程的双重挑战。本文将探讨如何使用Jetpack Compose这一现代UI工具包来优化安卓应用的开发流程,并提升用户界面的流畅性与一致性。通过介绍Jetpack Compose的核心概念、与传统方法的区别以及实际集成步骤,我们旨在提供一种高效且可靠的解决方案,以帮助开发者构建响应迅速且用户体验优良的安卓应用。
|
20天前
|
Android开发
Android开发小技巧:怎样在 textview 前面加上一个小图标。
Android开发小技巧:怎样在 textview 前面加上一个小图标。
10 0
|
20天前
|
Android开发
Android 开发 pickerview 自定义选择器
Android 开发 pickerview 自定义选择器
12 0
|
27天前
|
Java Android开发
Android开发系列全套课程
本系列课程面向有java基础,想进入企业从事android开发的计算机专业者。学习搭配实战案例,高效掌握岗位知识。
17 1