Android SDK 构建工具是构建 Android 应用所需的 Android SDK 的一个组件。它安装在 <sdk>/build-tools/
目录中。
您应该始终通过使用 Android SDK Manager 下载最新版本来保持构建工具组件更新。如果您使用的是 适用于 Gradle 的 Android 插件 3.0.0 或更高版本,您的项目会自动使用插件指定的构建工具的默认版本。要使用其他版本的构建工具,请使用您的模块的 build.gradle
中的 buildToolsVersion
指定它,如下所示
Groovy
android { buildToolsVersion "34.0.0" ... }
Kotlin
android { buildToolsVersion = "34.0.0" ... }
版本
以下部分提供了有关构建工具版本的发行说明。要确定 SDK 中可用的构建工具版本,请参考 Android SDK Manager 中的“已安装的软件包”列表。
构建工具,版本 34.0.0 RC3(2023 年 4 月)
常规错误修复和改进。
构建工具,版本 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 库错误。 - 修复了导致使用
androidx.annotation
资源出现Program type already present
构建错误的错误。
构建工具,版本 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 月)
除了常规错误修复之外,此版本还包括以下更新
- 将
apksigner
更新到版本 0.8- 与 Java 9 兼容。(问题 #37137869)
- 新
--pass-encoding
参数用于处理使用非 ASCII 密码加密的密钥库和密钥。如果您切换到 Java 9 并且apksigner
无法解密您的密钥库或密钥,请使用此参数指定用于创建密钥库或密钥的字符编码。有关更多信息,请参见apksigner
文档 或从命令行运行apksigner sign --help
。 - 当
apksigner
由于不支持的摘要或签名算法而无法验证 JAR 签名时,会提供更好的错误消息。(问题 #63525618)
- 在使用 适用于 Gradle 的 Android 插件
3.0.0-beta7
或更高版本时,支持 AAPT2 守护程序模式。
构建工具,版本 26.0.1 (2017 年 7 月)
除了常规错误修复之外,此版本还将 apksigner
还原到构建工具包中(由于错误,它在版本 26.0.0 中被省略了),并且包括对该工具的以下更新
- 添加了 PKCS #11 支持,允许使用保存在安全硬件中的密钥进行签名。(问题 #37140484)
- 添加了在签名之前加载其他 JCA 提供者 的支持。
- 在验证 APK 时会遵守
android:targetSandboxVersion
。 - 在签名时,会拒绝包含文件名中包含“CR”(回车符)、“LF”(换行符)或“NUL”(空字符)特殊字符的文件的 APK。
- 修复了
apksigner.bat
,使其能够正确处理包含空格的参数。(问题 #38132450) - 修复了在
MANIFEST.MF
中同一条目存在多个摘要时,JAR 签名验证中的错误。(Issue #38497270)
构建工具,版本 26.0.0 (2017 年 6 月)
添加了对使用 API 级别 26 构建的支持,并包含一般错误修复。
构建工具,版本 25.0.3 (2017 年 4 月)
更新 apksigner
- 添加了
--in
参数,以与现有的--out
参数保持一致。 - 如果您未使用
--key-pass
指定密钥密码,则apksigner
将使用密钥库密码作为密钥密码。但是,如果密钥需要不同的密码,现在会提示您从命令行输入密钥密码。(Issue #37134986) - 添加了对
jarsigner
的兼容性,以支持非 ASCII 密码。(Issue #37135737)
构建工具,版本 25.0.2 (2016 年 12 月)
错误修复。
构建工具,版本 25.0.1 (2016 年 11 月)
此版本包含错误修复以及对apksigner
的以下改进
- 支持具有混淆 JAR 条目名称的 APK。
--print-certs
开关现在还转储 MD5 指纹。
构建工具,版本 25.0.0 (2016 年 10 月)
Jack 工具链的错误修复
- 修复了 Jack 支持非 ASCII 源文件的问题。(Issue #218892)
- 修复了在某些编译期间导致
AssertionError
的问题。(Issue #208414)
构建工具,版本 24.0.3 (2016 年 9 月)
- 添加了
apksigner
,这是一个 APK 签名工具,用于替换jarsigner
。默认情况下,apksigner
使用传统的 JAR 签名方案(由jarsigner
使用)和 Android 7.0(API 级别 24)中引入的APK 签名方案 v2对 APK 进行签名。对使用 APK 签名方案 v2 签名的 APK 进行的任何修改都会使签名无效。因此,必须在调用apksigner
之前执行 APK 后处理(例如zipalign
),而不是之后。在apksigner
之前调用zipalign
可以正常工作,因为apksigner
保留 APK 对齐和压缩(与jarsigner
不同)。
构建工具,版本 23.0.3 (2016 年 3 月)
- 修复了 arm64 设备上RenderScript 支持库中的问题。
- 修复了某些 Jelly Bean 设备上RenderScript 支持库中的问题。
- 在使用 Gradle 的 Android 插件版本 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 构建系统存在的问题。(Issue 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 月)
- 修复了 RenderScript 构建问题
-
- 修复了 RenderScript 位代码编码问题。(Issue 64775)
- 修复了 RenderScript 缺少数学符号的问题。(Issue 64110)
构建工具,版本 19.0.1 (2013 年 12 月)
- 修复了各种构建问题
-
- 修复了在 NDK 模式下使用 Gradle 编译 RenderScript 的支持。
- 修复了 dx 构建中的
BufferOverflowException
问题。(Issue 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) 组件更新构建工具。