除了Android SDK工具和Android SDK平台工具之外,还有很多Android SDK构建-工具,如所附屏幕截图所示。任何人都可以指向一个源代码解释所有这些源代码,并帮助阐明如何选择使用某个版本的Android SDK构建工具吗? -27):
我仍然不完全了解所有工具。以下是我对Google最新文档的有限了解:
Android SDK构建工具曾经是Android SDK平台工具的组成部分。它们已与Android SDK平台工具脱钩,因此可以独立于集成开发环境(IDE)组件来更新构建工具。最新的Android平台。它们是向后兼容的,因此即使您的应用程序也针对较旧的Android平台,您也始终使用最新版本的Android SDK平台工具。上。
我仍然不了解将Android SDK构建工具从具有单个实例且易于管理更新的Android SDK平台工具中删除的理由。我能想到的唯一可能的原因是,某些应用程序必须依靠较早的构建组件来构建它们。 Google的文档中提到了这一点,但没有解释原因。查看发行说明,您会注意到Android SDK Build-tools的更新主要是用于修复错误或添加对新平台的支持。我可以想到的是,某些应用程序使用旧版本的Android SDK生成工具的唯一原因是它们依赖于Android SDK生成工具的某些错误。如果没有这些bug,这些应用将无法正常运行。我希望Google可以提供一个或两个示例,以说明为什么这些工具中的错误对于某些应用至关重要的原因。
#1 楼
关于Android SDK Build-tools的版本,答案是默认情况下,Android SDK使用Build Tools的最新下载版本。
源代码
在Eclipse中,您可以通过使用
sdk.buildtools
文件中的project.properties
属性来选择特定版本。解释所有构建工具的页面。这是Android团队对此的评价。工具或Android开发工具工具(ADT),因此您几乎不需要直接调用这些工具。通常,应依靠构建工具或ADT插件
根据需要调用它们。
源代码
无论如何,这是工具,平台工具和构建工具之间差异的综合:
Android SDK工具
位置:
$ANDROID_HOME/tools
主要工具:蚂蚁脚本(用于构建APK)和
ddms
(用于调试)Android SDK平台-工具
位置:
$ANDROID_HOME/platform-tools
主要工具:
adb
(用于管理模拟器或Android设备的状态)Android SDK构建工具
位置:
$ANDROID_HOME/build-tools/$VERSION/
文档
主要工具:
aapt
(生成R.java和未对齐,未签名的APK),dx
(将Java字节码转换为Dalvik字节码)和zipalign
(用于优化您的APK)#2 楼
Android SDK构建工具用于调试,构建,运行和测试Android应用程序。Android构建工具可用于从命令行或IDE(即Eclipse或Android Studio)进行开发和工作。 br />
还用于连接Android设备并对其进行root(快速启动,adb等)。有关Android构建工具和命令的更多信息
评论
谢谢(你的)信息。您的意思是说Android Build Tools是“用于连接Android设备并为它们添加根目录的”吗? adbis是Android平台工具的一部分。 adb是否依赖Android Build Tools起作用?如果是这样,怎么办?我好奇。
–Hong
13年11月19日在12:52
adb可用于从命令行推入和拉出文件。 (更多功能。)fastboot可用于刷新自定义引导加载程序。但是,除非您使用终端进行开发,否则这些命令对Android开发没有用。 IDE本身提供了所有功能。
– mipreamble
13年11月20日在19:31
我的理解是Eclipse在后台使用adb.exe。
–Hong
13年11月21日在3:26
@mipreamble那么android sdk有什么区别:工具,平台工具和构建工具?我可以在没有构建工具的情况下构建和运行我的应用程序。
–kreker
2014年1月11日0:00
@CJBS是的。坚持使用版本设置工具即可。构建工具会在新版本的Android出现时进行更新。您可能希望针对最新的Android版本编译和测试该应用程序。
– mipreamble
2015年4月19日在2:01
#3 楼
我将不再讨论构建工具,平台工具和其他工具之间的区别。从实际的角度来看,您只需要知道第二个问题的答案即可:应使用哪个版本?
答案:使用最新版本。
对于将Android Studio与Gradle结合使用的用户,必须在
buildToolsVersion
(模块:应用程序)文件中设置build.gradle
。android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
...
}
我在哪里得到最新版本的Build Tools?
打开Android SDK Manager。
在Android Studio中,依次转到“工具”>“ Android”>“ SDK Manager”>“外观和行为”>“系统设置”>“ Android SDK”。
选择“ SDK工具”选项卡。
从列表中选择Android SDK Build Tools
检查“显示软件包详细信息”。
最后一项将显示最新版本。
确保已安装,然后在
buildToolsVersion
(模块:app)中将该编号写为build.gradle
。评论
如果有24.0.2,为什么没有将24.0.1和24.标记为过时的(独立管理器允许显示/隐藏过时的包)?
–user1803551
16 Dec 18'在4:23
@ user1803551,并不总是希望自动使用最新的构建工具版本。例如,假设您已经使用特定的构建工具版本彻底测试了您的应用程序。如果您更新构建工具,则那里的更改可能会破坏您的应用程序。允许开发人员继续使用旧的构建工具版本,可以确保他们的构建可以按预期进行。如果查看被声明为过时的模式,您会发现24和24.0.1最终将被声明为过时。
– Suragch
16 Dec 18'在13:47
#4 楼
您可以在此Android-命令行工具中找到有关这些内容的详细信息tl; dr:
SDK工具: /> Android SDK Manager(sdkmanager)
AVD Manager(avdmanager)
Dalvik Debug Monitor Server(ddms)
构建工具:
签名者
proGuard
zipalign
jobb
平台工具:
adb
aidl,aapt,dexdump和dx
bmgr
logcat
评论
aidl,aapt,dexdump和dx这些是构建工具而非平台工具的组成部分
– Masum
18年8月27日在10:38
#5 楼
正确的答案是将Android SDK的特定于构建的组件与platform-tools组件分离,以便可以独立于集成开发环境(IDE)来更新构建工具。组件。
链接(扩展修订版17)
评论
感谢您的信息。如果新版本只是旧版本的改进版本,那么Google为什么不只有一个构建工具并像SDK工具和平台工具那样不断更新呢?换句话说,在那里拥有较旧版本的原因是什么?
–Hong
2014年1月11日,下午3:58
我只是尝试对这个答案进行投票,但是事实证明,我去年已经对它进行了投票! @Hong,他们保留了旧的构建工具,因为在更新工具时,某些功能已被弃用。但是应用程序开发人员可能拥有依赖于这些功能的源代码,因此他们保留了旧版本以支持这些旧代码库。
–主任
2015年2月9日在9:54
在这种情况下,他们是否应该具有不推荐使用的功能列表,以便开发人员可以确切地知道是否仍然需要使用旧版本?
–Hong
2015年2月9日,12:30
@Hong:这正是我要寻找的问题。现在...出发寻找答案:)
–DerpyNerd
16年8月14日在20:14
评论
我真的很高兴有不同版本的构建工具的更改日志
–炒锅
15年8月18日在12:11
@lacton我在项目中使用了旧的构建工具(版本17)。我可以使用最新的构建工具对其进行重建吗?
–user1156041
16年6月20日在14:51
我们可以在Eclipse和Studio中使用相同的SDK +构建工具吗?
–穆罕默德·巴巴尔(Muhammad Babar)
16年7月31日在10:29
我们如何通过命令行安装构建工具
– Ashok kumar Ganesan
20年6月22日在15:40