新的 Android 构建系统旨在替代构建工具 Ant 和 Android 开发工具(ADT), 默认使用 Gradle 作为构建工具,并以插件的形式提供,即 Android Gradle 插件。近日,新版本的 Android Gradle 插件发布,最值得关注的改进是实现了自动清除无用资源的功能。该版本不仅能够移除开发者实现的代码中无用的资源,更加重要的是还能够移除项目中引用的 libraries 的无用资源。自动清除无用资源的功能将会减少编译生成的 APK 文件的大小, 最终减少所开发应用占用 Android 设备的存储空间。另外,请读者注意,自动移除无用资源的功能默认是关闭的,需要开发者预先设定一些属性的值以开启该功能,详细示例代码如下:
android { buildTypes { release { minifyEnabled true shrinkResources true } } }
Tor Norbye 在 Google+ 上还透露了 Android Gradle 插件清除无用资源的效果:
在构建时,自动移除无用资源的功能能够大幅度减小 APK 文件的大小(最高可减小 34%);当前能够移除的无用资源包括图片、布局、菜单等资源文件,但不包括 value 资源文件。
Gradle 是由 Google 在 2013 年 I/O 大会上发布的新的构建系统, 它是一个以 Groovy 语言为基础、以面向 Java 应用为主、基于领域特定语言(DSL)语法的自动化构建工具。Gradle 通过插件创建自定义的构建逻辑,还支持依赖管理和多项目,和 Maven 有点类似,不过它比 Ant 和 Maven 更强大,而且使用起来更加方便、简单并且兼容 Maven。使用 Gradle 构建 Android 项目有以下优点:
- 在 IDE 环境和命令行下使用同一个构建系统
- 优化了依赖关系管理
- 更容易地集成到自动化构建系统
- 使用领域特定语言(DSL)描述和处理构建逻辑
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论