340

我知道这是一个非常初级的问题,但令我惊讶的是,我找不到任何关于 Android SDK Build-tools 的文档。除了 Android SDK Tools 和 Android SDK Platform-tools,还有一堆 Android SDK Build-tools 如附加的屏幕截图所示。任何人都可以指出解释所有这些的来源并帮助澄清如何选择使用某个版本的 Android SDK Build-tools 吗?

在此处输入图像描述

编辑(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的某些错误. 如果没有这些错误,这些应用程序将无法正常运行。我希望谷歌能通过给出一两个例子来更好地解释这一点,说明为什么工具中的这些错误对某些应用程序至关重要。

4

6 回答 6

89

关于Android SDK Build-tools的版本,答案是

默认情况下,Android SDK 使用最新下载的构建工具版本。

资源

sdk.buildtools在 Eclipse 中,您可以使用文件中的属性来选择特定版本project.properties

似乎没有解释所有构建工具的官方页面。这是 Android 团队对此的评价。

[build] 工具,例如aidl、aapt、dexdump 和dx,通常由Android 构建工具或Android 开发工具(ADT)调用,因此您很少需要直接调用这些工具。作为一般规则,您应该依赖构建工具或 ADT 插件来根据需要调用它们。

资源

无论如何,这里是工具、平台工具和构建工具之间差异的综合:

  • Android SDK 工具
    • 地点:$ANDROID_HOME/tools
    • 主要工具:ant 脚本(用于构建您的 APK)和ddms(用于调试)
  • Android SDK 平台工具
    • 地点:$ANDROID_HOME/platform-tools
    • 主要工具:(adb管理模拟器或安卓设备的状态)
  • Android SDK 构建工具
    • 地点:$ANDROID_HOME/build-tools/$VERSION/
    • 文档
    • 主要工具:(aapt生成 R.java 和未对齐、未签名的 APK)、dx(将 Java 字节码转换为 Dalvik 字节码)和zipalign(优化您的 APK)
于 2014-01-17T19:03:41.123 回答
38

Android SDK 构建工具用于调试、构建、运行和测试 Android 应用程序。

Android Build Tools 可用于从命令行或 IDE(即 Eclipse 或 Android Studio)进行开发和工作。

还用于连接 Android 设备并对其进行 root。(fastboot、adb 等..)

始终使用最新的。(推荐)

有关 Android 构建工具和命令的更多信息

于 2013-11-19T08:51:56.760 回答
16

您可以在此Android - 命令行工具中找到有关这些的详细信息


tl;博士:

开发工具包工具:

  1. Android SDK 管理器 (sdkmanager)
  2. AVD 管理器 (avdmanager)
  3. Dalvik 调试监控服务器 (ddms)

构建工具:

  1. 签名者
  2. proGuard
  3. 拉链对齐
  4. 工作

平台工具:

  1. 亚行
  2. aidl、aapt、dexdump 和 dx
  3. bmgr
  4. 日志猫
于 2017-03-04T07:41:57.613 回答
16

我将把构建工具、平台工具和工具之间的区别的讨论留给其他人。从实际的角度来看,您只需要知道第二个问题的答案:

应该使用哪个版本?

答:使用最新版本。

对于使用带有 Gradle 的 Android Studio 的用户,buildToolsVersion必须在build.gradle(Module: app) 文件中进行设置。

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    ...
}

我在哪里可以获得构建工具的最新版本号?

打开 Android SDK 管理器。

  • 在 Android Studio 中,转到工具> Android > SDK 管理器>外观和行为>系统设置> Android SDK
  • 选择SDK 工具选项卡。
  • 从列表中选择Android SDK 构建工具
  • 检查显示包详细信息

最后一项将显示最新版本。

在此处输入图像描述

确保它已安装,然后将该编号写入buildToolsVersionbuild.gradle模块:应用程序)。

于 2016-08-31T01:36:29.913 回答
9

正确答案是

将 Android SDK 的构建特定组件与 platform-tools 组件解耦,使构建工具可以独立于集成开发环境 (IDE) 组件进行更新。

链接(展开修订版 17)

于 2014-01-11T00:08:31.263 回答
2

Android SDK 构建工具正如其名。用于构建 Android 应用程序的工具。使用最新的构建工具版本(由您的 IDE 通过 Android SDK 自动选择)非常重要,但保留旧版本的原因是为了支持向后兼容性,即如果您的项目依赖于旧版本的构建工具。

于 2015-05-21T07:41:28.510 回答