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