新的 Andriod Gradle 插件可自动移除无用资源

  • 李士窑

2014 年 11 月 9 日

话题:Android语言 & 开发架构

新的 Android 构建系统旨在替代构建工具AntAndroid 开发工具(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)关注我们,并与我们的编辑和其他读者朋友交流。

Android语言 & 开发架构