我知道这是一个非常初级的问题,但令我惊讶的是,我找不到任何关于 Android SDK Build-tools 的文档。除了 Android SDK Tools 和 Android SDK Platform-tools,还有一堆 Android SDK Build-tools 如附加的屏幕截图所示。任何人都可以指出解释所有这些的来源并帮助澄清如何选择使用某个版本的 Android SDK Build-tools 吗?
https://i.stack.imgur.com/k7aH4.png
编辑(2014-02-27):
我仍然没有完全理解所有的工具。以下是我根据谷歌最新文档的有限理解:
Android SDK Build-tools 曾经是 Android SDK Platform-tools 的组件。它们已与 Android SDK 平台工具分离,因此可以独立于集成开发环境 (IDE) 组件更新构建工具。
Android SDK 平台工具经过定制以支持最新 Android 平台的功能。它们向后兼容,因此您始终使用最新更新的 Android SDK 平台工具,即使您的应用程序针对的是较旧的 Android 平台。
SDK 工具与平台无关,无论您在哪个 Android 平台上开发都需要。
我仍然不明白将 Android SDK Build-tools 从具有单个实例且易于管理更新的 Android SDK Platform-tools 中取出的基本原理。我能想到的唯一可能的原因是某些应用程序必须依赖较旧的构建组件来构建它们。谷歌的文件提到了这一点,但没有解释原因。查看发行说明,您会注意到 Android SDK 构建工具的更新主要用于修复错误或/添加对新平台的支持。我能想到的一些应用程序使用旧版本的 Android SDK Build-tools 的唯一原因是它们依赖于 Android SDK Build-tools 的某些错误。如果没有这些错误,这些应用程序将无法正常运行。我希望谷歌能通过给出一两个例子来更好地解释这一点,说明为什么工具中的这些错误对某些应用程序至关重要。
关于Android SDK Build-tools的版本,答案是
默认情况下,Android SDK 使用最新下载的构建工具版本。
在 Eclipse 中,您可以使用 project.properties
文件中的 sdk.buildtools
属性选择特定版本。
似乎没有解释所有构建工具的官方页面。这是 Android 团队对此的评价。
[build] 工具,例如aidl、aapt、dexdump 和dx,通常由Android 构建工具或Android 开发工具(ADT)调用,因此您很少需要直接调用这些工具。作为一般规则,您应该依赖构建工具或 ADT 插件来根据需要调用它们。
无论如何,这里是工具、平台工具和构建工具之间差异的综合:
Android SDK 工具 位置:$ANDROID_HOME/tools 主要工具:ant 脚本(用于构建您的 APK)和 ddms(用于调试)
位置:$ANDROID_HOME/tools
主要工具:ant 脚本(用于构建您的 APK)和 ddms(用于调试)
Android SDK Platform-tools 位置:$ANDROID_HOME/platform-tools 主要工具:adb(用于管理模拟器或Android设备的状态)
位置:$ANDROID_HOME/platform-tools
主要工具:adb(管理模拟器或安卓设备的状态)
Android SDK Build-tools 位置:$ANDROID_HOME/build-tools/$VERSION/ 文档主要工具:aapt(用于生成 R.java 和未对齐、未签名的 APK)、dx(将 Java 字节码转换为 Dalvik 字节码)和 zipalign(用于优化您的 APK)
位置:$ANDROID_HOME/build-tools/$VERSION/
文档
主要工具:aapt(生成 R.java 和未对齐、未签名的 APK)、dx(将 Java 字节码转换为 Dalvik 字节码)和 zipalign(优化您的 APK)
Android SDK 构建工具用于调试、构建、运行和测试 Android 应用程序。
Android Build Tools 可用于从命令行或 IDE(即 Eclipse 或 Android Studio)进行开发和工作。
还用于连接 Android 设备并对其进行 root。(fastboot、adb 等..)
始终使用最新的。(推荐)
More Info on Android Build tools and commands
我将把构建工具、平台工具和工具之间的区别的讨论留给其他人。从实际的角度来看,您只需要知道第二个问题的答案:
应该使用哪个版本?
答:使用最新版本。
对于使用带有 Gradle 的 Android Studio 的用户,必须在 build.gradle
(模块:app)文件中设置 buildToolsVersion
。
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
...
}
我在哪里可以获得构建工具的最新版本号?
打开 Android SDK 管理器。
在 Android Studio 中,转到工具 > Android > SDK 管理器 > 外观和行为 > 系统设置 > Android SDK
选择 SDK 工具选项卡。
从列表中选择 Android SDK 构建工具
检查显示包裹详细信息。
最后一项将显示最新版本。
https://i.stack.imgur.com/p2WAE.png
确保已安装,然后将该编号写为 build.gradle
中的 buildToolsVersion
(模块:app)。
您可以在此Android - Command Line Tools中找到有关这些的详细信息
tl;博士:
开发工具包工具:
Android SDK 管理器 (sdkmanager) AVD 管理器 (avdmanager) Dalvik 调试监控服务器 (ddms)
构建工具:
签名者 proGuard zipalign jobb
平台工具:
adbaidl、aapt、dexdump 和 dx bmgr logcat
正确答案是
将 Android SDK 的 build-specific 组件与 platform-tools 组件解耦,使 build 工具可以独立于集成开发环境 (IDE) 组件进行更新。
Android SDK 构建工具正如其名。用于构建 Android 应用程序的工具。使用最新的构建工具版本(由您的 IDE 通过 Android SDK 自动选择)非常重要,但保留旧版本的原因是为了支持向后兼容性,即如果您的项目依赖于旧版本的构建工具。