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

2024-04-29

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

已编辑 (2014-02-27):

我仍然没有完全理解所有的工具。以下是我根据Google最新文档的有限理解:

  • Android SDK 构建工具曾经是的组成部分Android SDK平台-工具。它们已与 Android SDK 平台工具解耦,因此构建工具可以独立于集成开发环境 (IDE) 组件进行更新。
  • Android SDK平台-工具经过定制以支持最新 Android 平台的功能。它们向后兼容,因此您始终使用最新的更新Android SDK平台-工具甚至您的应用程序也针对较旧的 Android 平台。
  • SDK工具与平台无关,无论您在哪个 Android 平台上进行开发都需要它。

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


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

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

Source http://developer.android.com/tools/revisions/build-tools.html

在 Eclipse 中,您可以使用以下命令选择特定版本sdk.buildtools财产在project.properties file.

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

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

Source http://developer.android.com/tools/help/index.html

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

  • Android SDK Tools
    • 地点:$ANDROID_HOME/tools
    • 主要工具:ant 脚本(用于构建 APK)和ddms(用于调试)
  • Android SDK Platform-tools
    • 地点:$ANDROID_HOME/platform-tools
    • 主要工具:adb(管理模拟器或 Android 设备的状态)
  • Android SDK Build-tools
    • 地点:$ANDROID_HOME/build-tools/$VERSION/
    • 文档 http://developer.android.com/tools/revisions/build-tools.html
    • 主要工具:aapt(生成 R.java 和未对齐、未签名的 APK),dx(将 Java 字节码转换为 Dalvik 字节码),以及zipalign(优化您的 APK)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android SDK 构建工具、平台工具和工具是什么?应该使用哪个版本? 的相关文章

  • Xamarin 分步向导 Android 视图

    我想在 Xamarin c 中构建一个 android 活动 用于逐步注册和 或信息 我怎样才能做这样的事情 谁能给我一个代码示例或其他东西 谢谢 基本上你需要使用一个名为 a 的元素ViewPager 并且每个页面都会不同Fragment
  • 如何访问 Android 心率传感器原始数据? (反射光,不是心跳)

    心率传感器上的 android sdk 仅返回计算出的 bpm 我对此不感兴趣 我需要访问 Android 心率传感器原始数据 例如就反射值的强度而言将会很大 因为心率传感器基本上使用 LED 并测量随时间变化的反射率 如果可能 访问由任何
  • 如何制作像 Google+ 应用程序中那样的气泡? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有谁知道如何使用 Google An
  • 使用同一个侦听器的多个活动

    我有 4 个活动 它们都包含一个 xml 页脚 其中包含 4 个按钮 每个活动一个 我现在想为这些按钮设置 onclicklistener 它是页脚中的自制菜单 问题是 如何使用侦听器以便重用代码 我有两个想法 创建一个实现 onclick
  • 为什么不能在 Fragment 中使用 ViewPager?它实际上是

    有信息无法使用ViewPager在一个Fragment在许多来源中 例如 Android 开发者繁忙编码指南 http commonsware com 作者 Mark Murphy 或者类似的帖子this https stackoverfl
  • 使用 proguard 混淆文件名

    我正在使用 proguard 和 Android Studio 混淆我的 apk 当我反编译我的apk时 我可以看到很多文件 例如aaa java aab java ETC 但我项目中的所有文件都有原始名称 有没有办法混淆我的项目的文件名
  • 蓝牙 BLE Android 以最大吞吐量写入外设

    我们公司开发了一个具有蓝牙 BLE 的硬件单元 并且我们在 Nexus 7 2013 中有一个服务应用程序 我们希望使用它向该单元发送固件文件 文件最大可达 500kb BT芯片是德州仪器CC2540 我浏览了大量的页面 并扫描了 Stac
  • Android L,使用 joda.time 库的异常

    该应用程序适用于所有设备 包括 nexus 5 和 nexus 7 在 Android L 预览版上运行相同的应用程序时 应用程序崩溃了 我一直在调试 并且调用 DateTime 构造函数发现了异常 public static String
  • Android 和 Google 地图内部片段以及其他控件和 viewpager

    我是android编程新手 我有一个带有 3 个页面 片段 的小应用程序 使用 pageradapter 和 viewpager 在它们之间滑动 其中一个页面包含复选框 和其他控件 和地图 我的问题是程序在启动时崩溃 Fragment co
  • 在光标所在行强制关闭!

    嘿 我正在尝试创建一个应用程序来查找存储在 SQlite 数据库中的 GPS 数据 但我面临一个问题 我构建了一个 DbAdapter 类来创建数据库 现在我尝试使用以下函数从另一个类获取所有数据上的光标 public Cursor fet
  • 如何在 60 分钟后删除共享首选项

    我想存储登录数据 但希望在 60 分钟后删除该数据 执行此操作的正确方法是什么 在这 60 分钟内可以关闭 停止 打开应用程序 我不想使用内部数据库 这是我的访问代码SharedPreferences sharedpreferences g
  • Android - 存储对ApplicationContext的引用

    我有一个静态 Preferences 类 其中包含一些应用程序首选项和类似的内容 可以在那里存储对 ApplicationContext 的引用吗 我需要该引用 以便我可以在不继承 Activity 的类中获取缓存文件夹和类似内容 你使用的
  • Android 的 Intent 和 Parcelable 对象

    为什么我需要打包我的对象 即使我只需将其发送到同一任务的另一个线程 实际上 我需要打开一个甚至可以在同一线程 主线程 上运行的活动 换句话说 为什么 Google 不提供一个 startActivity 版本 它采用通用对象广告参数而不是捆
  • Expresso 的 Android 测试首选项片段

    我在通过 Expresso 测试我的代码时遇到问题 我写了这段代码 public class SettingsActivity extends Activity Override protected void onCreate Bundle
  • 以 HTML 格式发送电子邮件

    我想发送 HTML 格式的电子邮件 如下图所示 我怎样才能做到这一点 请帮我 提前致谢 String body new String table tr td br header td tr br br Get b Best Score b
  • 通过 Gradle 和 Android Studio 构建和运行应用程序比通过 Eclipse 慢

    我有一个多项目 10 个模块 每次构建大约需要 20 30 秒 当我在 Android Studio 中按 运行 时 每次都必须等待才能重建应用程序 这非常慢 是否可以在 Android Studio 中自动化构建过程 或者您对如何加快此过
  • onPrepareOptionsMenu 复制 ActionBar 中的项目

    当我使用 onPrepareOptionsMenu 添加菜单项时 该菜单项会在操作栏中复制其自身 我正在使用片段并在主要活动的 ActionBar 中创建初始菜单 如下所示 Override public boolean onCreateO
  • Android AppWidgetManager 方法 updateAppWidget 无法设置意图、加载数据。而且它是随机发生的

    我的小部件由 2 个按钮和一个显示数据的列表视图组成 大多数时候 当调用小部件提供程序的 onUpdate 方法时 一切都会正常加载 每个人都很高兴 但是我注意到有时在调用更新方法后 小部件完全无法加载其数据 列表视图为空 所有按钮均无响应
  • Android:透明活动问题

    最近 在我们的一款生产应用程序上 透明活动已停止工作 我的意思是它变成了黑色背景而不是透明背景 当我将活动的背景颜色设置为纯色 即红色 绿色等 时 它的应用不会出现问题 该问题可能是由于迁移到 AndroidX 引起的 但我没有这方面的证据
  • Android 的代码覆盖率[重复]

    这个问题在这里已经有答案了 可能的重复 Android测试代码覆盖率 Eclipse https stackoverflow com questions 3282702 android test code coverage eclipse

随机推荐