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

时间:2013-11-11 16:57:48

标签: android sdk android-sdk-tools

我知道这是一个非常基本的问题,但令我惊讶的是,我找不到任何关于Android SDK Build-tools的文档。 除了Android SDK工具和Android SDK平台工具之外,还有一堆Android SDK Build-tools,如附图所示。任何人都可以指向一个解释所有这些内容的来源,并帮助澄清如何选择使用某个版本的Android SDK Build-tools?

enter image description here

已编辑(2014-02-27)

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

  • Android SDK构建工具曾经是 Android SDK平台工具的组件。它们已与Android SDK平台工具分离,因此可以独立于集成开发环境(IDE)组件更新构建工具。
  • Android SDK平台工具经过自定义,可支持最新Android平台的功能。它们向后兼容,因此您始终可以使用 Android SDK平台工具的最新更新,甚至您的应用也会定位到较旧的Android平台。
  • SDK工具与平台无关,无论您正在开发哪个Android平台,都需要这些工具。

我仍然不理解从 Android SDK平台工具中获取 Android SDK构建工具的理由,该工具具有单个实例,并且易于管理更新。我能想到的唯一可能的原因是某些应用程序必须依赖较旧的构建组件来构建它们。谷歌的文件提到了这一点,但没有解释原因。查看发行说明,您会注意到 Android SDK Build-tools 的更新主要用于修复错误或/添加对新平台的支持。我可以想到某些应用使用旧版 Android SDK Build-tools 的唯一原因是它们依赖于 Android SDK Build-tools 的某些错误。如果没有使用这些错误构建,这些应用程序将无法正常运行。我希望Google能够通过提供一两个示例来更好地解释这一点,这些示例说明了为什么这些工具中的错误对某些应用程序至关重要。

6 个答案:

答案 0 :(得分:84)

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

  

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

Source

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

似乎没有官方页面解释所有构建工具。以下是Android团队对此的看法。

  

[build]工具,例如aidl,aapt,dexdump和dx   通常由Android构建工具或Android开发人员调用   工具(ADT),因此您很少需要直接调用这些工具。作为一个   一般来说,你应该依靠构建工具或ADT插件来实现   根据需要打电话给他们。

Source

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

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

答案 1 :(得分:39)

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

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

还用于连接Android设备并将它们root。(fastboot,adb等等)

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

More Info on Android Build tools and commands

答案 2 :(得分:15)

我将讨论Build Tools,Platform Tools和Tools之间的区别。从实际角度来看,您只需知道第二个问题的答案:

应该使用哪个版本?

答案:使用最新版本。

对于使用带有Gradle的Android Studio的用户,必须在#include<stdio.h>(模块:应用)文件中设置buildToolsVersion

build.gradle

从哪里可以获得Build Tools的最新版本号?

打开Android SDK Manager。

  • 在Android Studio中,转到工具&gt; Android &gt; SDK Manager &gt; 外观&amp;行为&gt; 系统设置&gt; Android SDK
  • 选择 SDK工具标签。
  • 从列表中选择 Android SDK构建工具
  • 检查显示包详情

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

enter image description here

确保已安装,然后在android { compileSdkVersion 25 buildToolsVersion "25.0.2" ... } (模块:应用)中将该号码作为buildToolsVersion

答案 3 :(得分:12)

您可以在此 Android - Command Line Tools

中找到有关这些内容的详细信息

<强> TL; DR:

SDK工具:

  1. Android SDK Manager(sdkmanager)
  2. AVD Manager(avdmanager)
  3. Dalvik Debug Monitor Server(ddms)
  4. 构建工具:

    1. 签名人
    2. ProGuard的
    3. 的zipalign
    4. JOBB
    5. 平台工具:

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

答案 4 :(得分:9)

正确答案是

  

将Android SDK的特定于构建的组件与平台工具组件分离,以便可以独立于集成开发环境(IDE)组件更新构建工具。

link (expand Revision 17)

答案 5 :(得分:2)

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