什么是Android SDK构build工具,平台工具和工具? 哪个版本应该使用?

我知道这是一个非常基本的问题,但令我惊讶的是,我找不到任何有关Android SDK构build工具的文档。 除了Android SDK工具和Android SDK平台工具之外,还有一些Android SDK构build工具,如附图所示。 任何人都可以指出一个来源解释所有这些,并帮助澄清如何select使用特定版本的Android SDK构build工具?

在这里输入图像描述

编辑(2014-02-27)

我仍然不完全理解所有的工具。 以下是基于Google最新文档的有限理解:

  • Android SDK构build工具曾经是Android SDK平台工具的组件。 它们已经脱离了Android SDK平台工具,因此构build工具可以独立于集成开发环境(IDE)组件进行更新。
  • Android SDK平台 – 工具是为了支持最新Android平台的function而定制的。 它们是向后兼容的,所以你总是使用最新的Android SDK平台工具更新,甚至你的应用程序的目标是旧的Android平台。
  • SDK工具是独立于平台的,无论您正在开发哪种Android平台,都是必需的。

我仍然不明白将Android SDK构build工具Android SDK平台 工具中提取出来的原因,这些工具只有一个实例,并且易于pipe理更新。 我能想到的唯一可能的原因是一些应用程序必须依靠较旧的构build组件来构build它们。 Google的文档提到了这一点,但并没有解释为什么。 查看发行说明,您会注意到Android SDK Build-tools的更新主要是为了修复错误和/或添加对新平台的支持。 我能想到的一些应用程序使用旧版本的Android SDK构build工具的唯一原因是他们依赖于Android SDK构build工具的某些缺陷。 这些应用程序不会正常工作,而不用这些错误构build。 我希望Google能够通过给出一两个例子来解释这个问题,说明为什么这些工具中的错误对于某些应用程序来说是至关重要的。

关于Android SDK构build工具的版本,答案是

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

资源

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

似乎没有官方网页解释所有的构build工具。 以下是Android团队对此所说的话。

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

资源

无论如何,下面是工具,平台工具和构build工具之间差异综合:

  • Android SDK工具
    • 位置: $ANDROID_HOME/tools
    • 主要工具:ant脚本(用于构buildAPK)和ddms (用于debugging)
  • Android SDK平台 – 工具
    • 位置: $ANDROID_HOME/platform-tools
    • 主要工具: adb (pipe理模拟器或Android设备的状态)
  • Android SDK构build工具
    • 位置: $ANDROID_HOME/build-tools/$VERSION/
    • 文档
    • 主要工具: aapt (生成R.java和未alignment的,未签名的APK), dx (将Java字节码转换为Dalvik字节码)和zipalign (用于优化APK)

Android SDK构build工具用于debugging,构build,运行和testingAndroid应用程序。

Android构build工具可用于从命令行或IDE(即Eclipse或Android Studio)开发和工作。

也用于连接Android设备并对其进行根目录(fastboot,adb和更多..)

总是使用最新的(推荐)

Android上的更多信息构build工具和命令

我将讨论构build工具,平台工具和工具之间的区别。 从实际的angular度来看,你只需要知道你的第二个问题的答案:

应该使用哪个版本?

答:使用最新的版本。

对于那些使用Android Studio和Gradle的人, buildToolsVersion必须在build.gradle (Module:app)文件中设置。

 android { compileSdkVersion 25 buildToolsVersion "25.0.2" ... } 

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

打开Android SDKpipe理器。

  • 在Android Studio中,转至工具 > Android > SDKpipe理器 > 外观和行为 > 系统设置 > Android SDK
  • selectSDK工具选项卡。
  • 从列表中selectAndroid SDK构build工具
  • 选中Show Package Details

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

在这里输入图像描述

确保它已经安装,然后在build.gradle (Module:app)中build.gradle编号写为buildToolsVersion

正确的答案是

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

链接(展开版本17)

你可以在这个 Android命令行工具中 find关于这些的细节


TL;博士:

SDK工具:

  1. Android SDKpipe理器(sdkmanager)
  2. AVD经理(avdmanager)
  3. Dalvik Debug Monitor服务器(ddms)

构build工具:

  1. 签名者
  2. ProGuard的
  3. 的zipalign
  4. JOBB

平台工具:

  1. 亚行
  2. aidl,aapt,dexdump和dx
  3. BMGR
  4. logcat的

Android SDK构build工具正是这个名字所说的。 构buildAndroid应用程序的工具。使用最新的构build工具版本(由IDE通过Android SDK自动select)非常重要,但旧版本的原因是支持向后兼容性,即如果您的项目依赖于旧版本的构build工具。