我知道这是一个非常初级的问题,但令我惊讶的是,我找不到任何关于Android SDK构建工具的文档。除了Android SDK工具和Android SDK平台工具之外,还有一系列Android SDK构建工具,如后面的截图所示。有人能指出一个源解释所有这些,并帮助澄清如何选择使用某个版本的Android SDK构建工具吗?
编辑(2014-02-27):
我仍然没有完全理解所有的工具。以下是我根据谷歌最新文档的有限理解:
我仍然不明白将Android SDK Build-tools从Android SDK Platform-tools中取出的原理,Android SDK Platform-tools只有一个实例,并且易于管理更新。我能想到的唯一可能的原因是,有些应用程序不得不依赖较旧的构建组件来构建它们。谷歌的文件中提到了这一点,但没有解释原因。查看发布说明,您会注意到Android SDK构建工具的更新主要用于修复bug或/添加对新平台的支持。我能想到的一些应用程序使用旧版本Android SDK构建工具的唯一原因是它们依赖于Android SDK构建工具的某些bug。如果没有这些bug,这些应用程序将无法正常运行。我希望谷歌能更好地解释这一点,给出一两个例子,说明为什么工具中的这些bug对于某些应用程序是至关重要的。
关于Android SDK构建工具的版本,答案是
默认情况下,Android SDK使用最新下载版本的构建工具。
来源
在Eclipse中,您可以通过使用project.properties
文件中的sdk.buildtools
属性来选择特定的版本。
似乎没有官方页面解释所有的构建工具。以下是Android团队对此的看法。
[build]工具(如aidl,aapt,dexdump和dx)通常由Android build tools或Android Development tools(ADT)调用,因此您很少需要直接调用这些工具。作为一般规则,您应该依赖构建工具或ADT插件根据需要调用它们。
来源
总之,这里综合了工具,平台工具和构建工具之间的区别:
$android_home/tools
DDMS
(用于调试)$android_home/platform-tools
adb
(用于管理模拟器或Android设备的状态)$android_home/build-tools/$version/
aapt
(用于生成r.Java和未对齐,未签名的APKs),dx
(用于将Java字节码转换为Dalvik字节码)和zipalign
(用于优化APKs)
Android SDK构建工具用于调试,构建,运行和测试Android应用程序。
Android构建工具可以用于从命令行或IDE(即Eclipse或Android Studio)进行开发和工作。
也用于连接Android设备和根目录。(fastboot,adb和更多。。)
始终使用最新版本。(推荐)
关于Android构建工具和命令的更多信息
我将把关于构建工具,平台工具和工具之间的区别的讨论留给其他人。从实用的立场出发,你只需要知道你的第二个问题的答案:
答:使用最新版本。
对于那些使用带有Gradle的Android Studio,必须在build.Gradle
(模块:app)文件中设置BuildToolsVersion
。
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
...
}
打开Android SDK管理器。
最后一项将显示最新版本。
确保它已安装,然后将该编号作为build.gradle
(模块:app)中的BuildToolsVersion
写入。