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.jar
33.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) 组件进行更新。