Android Gradle 插件,版本 1.5.0(2015 年 11 月)

依赖项
最低版本 默认版本 注意事项
Gradle 2.2.1 2.2.1 要了解更多信息,请参阅更新 Gradle
SDK 构建工具 21.1.1 21.1.1 安装配置 SDK 构建工具。
一般注意事项
  • 将数据绑定插件集成到 Android Gradle 插件中。要启用它,请将以下代码添加到使用该插件的每个项目 build.gradle 文件中
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • 添加了一个新的 Transform API,以允许第三方插件在编译的 .class 文件转换为 .dex 文件之前对其进行操作。Transform API 简化了注入自定义类操作的过程,同时提供了更大的灵活性,您可以操作的内容更丰富。要将转换插入到构建中,请创建一个实现 Transform 接口之一的新类,并使用 android.registerTransform(theTransform)android.registerTransform(theTransform, dependencies) 注册它。无需将任务连接起来。关于 Transform API,请注意以下事项
    • 转换可以应用于以下一项或多项:当前项目、子项目和外部库。
    • 转换必须全局注册,这会将其应用于所有变体。
    • 内部代码处理,通过 Java 代码覆盖率库 (JaCoCo)、ProGuard 和 MultiDex,现在使用 Transform API。但是,Java Android 编译器工具包 (Jack) 不使用此 API:只有 javac/dx 代码路径使用。
    • Gradle 按以下顺序执行转换:JaCoCo、第三方插件、ProGuard。第三方插件的执行顺序与其添加转换的顺序匹配;第三方插件开发者无法通过 API 控制转换的执行顺序。
  • 已弃用 ApplicationVariant 类中的 dex getter。您无法再通过变体 API 访问 Dex 任务,因为它现在是通过转换实现的。目前没有用于控制 dex 过程的替代方案。
  • 修复了资源增量支持的问题。
  • 改进了 MultiDex 支持,使其可用于测试项目,并且测试现在自动具有 com.android.support:multidex-instrumentation 依赖项。
  • 添加了在 Gradle 构建调用异步任务且工作进程中发生故障时,正确使 Gradle 构建失败并报告底层错误原因的功能。
  • 添加了对在包含多个 ABI 的变体中配置特定应用二进制接口 (ABI) 的支持。
  • 在安装或运行测试时,添加了对 ANDROID_SERIAL 环境变量接受设备序列号的逗号分隔列表的支持。
  • 修复了在运行 Android 5.0(API 级别 20)及更高版本的设备上,当 APK 名称包含空格时发生的安装失败问题。
  • 修复了与 Android 资源打包工具 (AAPT) 错误输出相关的各种问题。
  • 添加了 JaCoCo 增量插桩支持,以实现更快的增量构建。Android Gradle 插件现在直接调用 JaCoCo 插桩器。要强制使用更新的 JaCoCo 插桩器版本,你需要将其添加为构建脚本依赖项。
  • 修复了 JaCoCo 支持,使其忽略非类文件。
  • 添加了 vector drawable 支持,用于在构建时生成 PNG 以实现向后兼容。对于资源目录中找到的、未指定 API 版本或在应用清单的 <uses-sdk> 元素中指定 android:minSdkVersion 属性为 20 或更低的每个 vector drawable,Android Gradle 插件都会生成 PNG。您可以通过在 build.gradle 文件的 defaultConfigproductFlavor 部分中使用 generatedDensities 属性来设置 PNG 密度。
  • 添加了对可模拟 android.jar 的共享,插件仅生成一次该文件并用于单元测试。多个模块(例如 applib)现在共享该文件。删除 $rootDir/build 以重新生成。
  • 更改了 Java 资源的处理方式,使其在混淆任务之前发生,而不是在 APK 打包期间。此更改允许混淆任务有机会在包混淆后调整 Java 资源。
  • 修复了在实验性库插件中使用 Java 本机接口 (JNI) 代码时遇到的问题。
  • 添加了在实验性库插件中独立于 android:compileSdkVersion 属性设置平台版本的功能。