Android SDK Build-Tools 是构建 Android 应用所需的一个 Android SDK 组件,安装在 <sdk>/build-tools/
目录中。
您应保持更新 Build Tools 组件,可以使用 Android SDK 管理器下载该组件的最新版本。如果您使用的是 Android Plugin for Gradle 3.0.0 或更高版本,那么您的项目会自动使用该插件指定的默认版本的 Build Tools。如需使用其他版本的 Build Tools,请在模块的 build.gradle
中使用 buildToolsVersion
进行指定,如下所示:
Groovy
android { buildToolsVersion "34.0.0" ... }
Kotlin
android { buildToolsVersion = "34.0.0" ... }
修订版本
下面几部分提供了关于 Build Tools 各个版本的说明。如需确定 SDK 中提供了 Build Tools 的哪些修订版本,请参阅 Android SDK 管理器中列出的“已安装软件包”。
Build Tools,修订版 34.0.0 RC3(2023 年 4 月)
进行了一些常规的问题修复和改进。
Build Tools,修订版 34.0.0(2023 年 2 月)
此更新支持使用 Android 14 预览版 API 进行构建。
Build Tools,修订版 33.0.2(2023 年 2 月)
此更新修复了以下问题:
-
core-lambda-stubs.jar
版本 33.0.0 在 macOS 与在 Linux/Windows 上有所不同。 (请参阅问题 237299698。)
Build Tools,修订版 33.0.1(2022 年 11 月)
此更新修复了以下问题:
- AIDL 不支持 build-tools 33.0.0。(请参阅问题 236167971)
Build Tools,修订版 30.0.0 rc4(2020 年 5 月)
此更新支持使用 Android 11 预览版 API 进行构建。
Build Tools,修订版 29.0.3(2020 年 1 月)
此更新修复了以下问题:
- macOS Catalina 上 Renderscript 的 build 问题。(请参阅问题 142590626)
Build Tools,修订版 29.0.2(2019 年 8 月)
此更新修复了以下问题:
Build Tools,修订版 29.0.0(2019 年 6 月)
此更新支持使用 API 级别 29 进行构建。
Build Tools,修订版 28.0.3(2018 年 9 月)
此更新加入了对 Android Gradle 插件 3.2.0 的支持,并修复了以下问题:
-
修复了导致应用在调用
androidx.renderscript.RenderScript.create()
时崩溃的 JNI 库 bug。 -
修复了导致
androidx.annotation
资源出现Program type already present
build 错误的 bug。
Build Tools,修订版 28.0.2(2018 年 8 月)
加入了最新版 D8。
Build Tools,修订版 27.0.3(2017 年 12 月)
改进了对编译 lambda 的支持(在启用 Java 8 语言功能的情况下)。
Build Tools,修订版 27.0.2(2017 年 12 月)
改进了对 Java 8 语言功能的支持。
Build Tools,修订版 27.0.1(2017 年 11 月)
添加了对用于测试 APK 的旧版 MultiDex 的支持。 (问题 37324038)
Build Tools,修订版 26.0.2(2017 年 10 月)
除了修复了一些常见 bug 外,此版本还加入了以下更新:
- 将
apksigner
更新为 0.8 版:- 可与 Java 9 兼容。(问题 37137869)
-
新增了
--pass-encoding
参数,可用于处理使用非 ASCII 密码加密的密钥库和密钥。如果您切换到 Java 9,并且apksigner
无法解密您的密钥库或密钥,请使用此参数指定用于创建密钥库或密钥的字符编码。如需了解详情,请参阅apksigner
文档或从命令行运行apksigner sign --help
。 -
在
apksigner
因摘要或签名算法不受支持而无法验证 JAR 签名时,显示更简单易懂的错误消息。(问题 63525618)
-
现在支持 AAPT2 守护程序模式(如果使用的是 Android Plugin for Gradle
3.0.0-beta7
或更高版本)。
Build Tools,修订版 26.0.1(2017 年 7 月)
除了修复了一些常见 bug 外,此版本还将 apksigner
重新添加到 Build Tools 软件包中(在 26.0.0 版中不小心遗漏了),并加入了对该工具的以下更新:
- 添加了 PKCS #11 支持,允许使用存放在安全硬件中的密钥签名。(问题 37140484)
- 添加了对签名前加载其他 JCA 提供程序的支持。
- 验证 APK 时属性为
android:targetSandboxVersion
。 - 在签名时,如果 APK 所含文件的名称中出现“CR”(回车符)、“LF”(换行符)或“NUL”(null) 特殊字符,会拒绝该 APK。
- 修复了
apksigner.bat
,现在可正确处理含有空格的参数。(问题 38132450) - 修复了
MANIFEST.MF
中同一条目存在多个摘要时出现的 JAR 签名验证 bug。(问题 38497270)
Build Tools,修订版 26.0.0(2017 年 6 月)
添加了对使用 API 级别 26 进行构建的支持,并修复了一些常见 bug。
Build Tools,修订版 25.0.3(2017 年 4 月)
对 apksigner
进行了更新:
- 添加了
--in
参数,以与现有的--out
参数对称。 - 如果您未使用
--key-pass
指定密钥密码,apksigner
会用密钥库密码作为密钥密码。不过,如果密钥要求使用不同的密码,现在系统会提示您从命令行输入密钥密码。(问题 37134986) - 现在与适用于非 ASCII 密码的
jarsigner
兼容。(问题 37135737)
Build Tools,修订版 25.0.2(2016 年 12 月)
修复了一些 bug。
Build Tools,修订版 25.0.1(2016 年 11 月)
此版本修复了一些 bug,并对 apksigner
做出了以下改进:
- 支持 JAR 条目名称经过混淆处理的 APK。
--print-certs
开关现在也会转储 MD5 指纹。
Build Tools,修订版 25.0.0(2016 年 10 月)
修复了 Jack 工具链相关的一些 bug:
Build Tools,修订版 24.0.3(2016 年 9 月)
- 添加了
apksigner
,这是一款用来替换jarsigner
的 APK 签名工具。默认情况下,apksigner
会采用jarsigner
所用的传统 JAR 签名方案和 Android 7.0(API 级别 24)中引入的 APK 签名方案 v2 对 APK 进行签名。对采用后者签名的 APK 做出的任何修改都会让它的签名失效。因此,必须在调用apksigner
之前(而不是之后)执行 APK 后期处理(例如zipalign
)。之所以可以在apksigner
之前调用zipalign
,是因为apksigner
保留了 APK 对齐和压缩(与jarsigner
不同)。
Build Tools,修订版 23.0.3(2016 年 3 月)
- 修复了 arm64 设备上 RenderScript 支持库中出现的一些问题。
- 修复了某些 Jelly Bean 设备上 RenderScript 支持库中出现的一些问题。
- 支持
renderscriptTargetAPI 21+
(如果使用的是 Android Plugin for Gradle 修订版 2.1.0 及更高版本)。
Build Tools,修订版 23.0.2(2015 年 11 月)
- 提升了
dx
工具的合并性能。 - 修复了适用于 Windows 的 RenderScript 编译器中出现的一些问题。
Build Tools,修订版 23.0.1(2015 年 10 月)
修复了 RenderScript 工具中出现的一些问题。
Build Tools,修订版 23.0.0(2015 年 8 月)
添加了对 Android 6.0(API 级别 23)版本的支持。
Build Tools,修订版 22.0.1(2015 年 3 月)
修复了 Android 4.4(API 级别 19)到 Android 4.1(API 级别 16)设备的 RenderScript 内核中存在的一些兼容性问题。
Build Tools,修订版 22.0.0(2015 年 3 月)
添加了对 Android 5.1(API 级别 22)的支持。
Build Tools,修订版 21.1.2(2015 年 2 月)
修复了在 32 位模式下构建数据布局时出现的问题。
Build Tools,修订版 21.1.1(2014 年 11 月)
修复了一些 MultiDex 文件脚本问题。
Build Tools,修订版 21.1(2014 年 10 月)
添加了对 APK 的 MultiDex 文件以及 Jack 的支持,解决了 64K 方法引用限制。
Build Tools,修订版 21.0.2(2014 年 10 月)
完成了对 Eclipse ADT 的更新,解决了在 Windows 平台上出现的一些不稳定性问题。
Build Tools,修订版 21.0.1(2014 年 10 月)
针对 Windows 上 Eclipse ADT 的初始更新。请使用修订版 21.0.2。
Build Tools,修订版 21.0.0(2014 年 10 月)
- 一般说明:
-
- 添加了对 Android 5.0(API 级别 21)的支持。
- RenderScript 现在支持针对 API 级别 21 及更高级别进行的无缝 32/64 位操作。
- 修复了使用 JaCoCo 插件时 Gradle 构建系统出现的问题。(问题 69174)
- 添加了一个可在 Windows 中与长命令行搭配使用的“input-list”选项。
Build Tools,修订版 20.0.0(2014 年 6 月)
- 一般说明:
-
- 添加了对 Android Wear 的支持。
Build Tools,修订版 19.1.0(2014 年 5 月)
- 一般说明:
-
- 在 Build Tools 中添加了
zipalign
。 - 修改了
aapt
,以忽略无法编译的 XML 文件。
- 在 Build Tools 中添加了
Build Tools,修订版 19.0.3(2014 年 3 月)
修复了 RenderScript 支持方面的问题。
Build Tools,修订版 19.0.2(2014 年 2 月)
Build Tools,修订版 19.0.1(2013 年 12 月)
- 修复了一些其他的 build 问题:
-
- 修复了针对使用 Gradle 在 NDK 模式下编译 RenderScript 的支持。
- 修复了在 dx build 中出现的
BufferOverflowException
问题。 (问题 61710)
Build Tools,修订版 19(2013 年 10 月)
添加了对 Android 4.4(API 级别 19)build 目标的支持。
Build Tools,修订版 18.1.1(2013 年 9 月)
修复了几个小的 build 问题。
Build Tools,修订版 18.1.0(2013 年 9 月)
修复了 RenderScript 支持模式存在的问题。
Build Tools,修订版 18.0.1(2013 年 7 月)
添加了对 Android 4.3(API 级别 18)build 目标的支持。
Build Tools,修订版 17(2013 年 5 月)
初始版本。
- 一般说明:
-
- 添加了对 Android 4.2(API 级别 17)build 目标的支持。
- 将 Android SDK 专用于 build 的组件从平台工具组件中分离出来,以便能在集成开发环境 (IDE) 组件之外单独更新 Build Tools。