Android SDK Manager详解

Android基础知识——Android SDK Manager详解html

 

 

作Android开发时,免不了使用Android SDK Manager,安装须要的sdk版本、buildTools版本等等。java

 

下图展现了2016.11.16号Android SDK Manager全部的package。不少Android开发的新人在使用的时候可能会疑惑了:这些package到都是什么功能呢,都要安装吗?本篇文章将为你把这些疑惑解开(若是你只想知道须要安装哪些package,直接跳至文末)。android

1. SDK Manager 目录结构

SDK Manager 的package目录结构以下面两幅图所示 
上半部分sql

下半部分
大致上能够分为Tools、Platforms和Extras三部分。install须要的package后,Android Studio将在本地建立对应的文件目录,如图是博主安装了一些package以后,PC上的目录结构: 
这里写图片描述
经过本地文件,咱们能够了解到install某个package以后,会提供什么样的功能,由文件夹的命名找到对应的package并非很难,好比红色圈出来的三块,很容易知道来自SDK Manager的Tools目录下面。下面咱们将经过查看Tools、Platforms和Extras三部分的本地文件的方式带你们详细了解SDK Manager。数据库

1. Tools

Tools文件夹下包括三种tools:Android SDK Tools,Android SDK Platform-tools和Android SDK Build-tools。对应于本地文件夹的tools,platform-tools和build-tools。markdown

  1. Android SDK Tools 
    Android SDK Tools对应的本地文件夹的存储目录以下图所示: 
    这里写图片描述 
    SDK Tools包含了不少重要的工具,好比:ddms用于启动Android调试工具;draw9patch则是绘制android平台的.9图的工具;monkeyrunner则是一个不错的压力测试工具,模拟用户在手机上随机按键;mksdcard是模拟器SD映像的建立工具,emulator是Android SDK模拟器主程序;traceview是android平台上重要的调试工具,能够列出每一个方法调用所使用的事件,展开方法还能看到方法被调用其余方法所占用的时间百分比,这样就能够知道那个方法用了最多的资源,进而能够对其进行优化或者将其搬离主线程。其余工具就不一一介绍了,感兴趣的自行了解。 
    因而可知,SDK Tools是须要安装的。架构

  2. Android SDK Platform-tools 
    SDK Platform-tools的本地文件夹对应的文件目录 
    这里写图片描述 
    Platform-tools一样包含了不少重要工具:adb是android调试工具,以命令行的形式和模拟器或者链接的手机进行通信;sqlite3帮助开发者在PC上查看sqlite数据库等其它工具。同上,其余工具能够参考Google的开发者文档了解。 
    SDK Platform-tools也是须要安装的。app

  3. Android SDK Build-tools 
    Android SDK Build-tools和Android SDK Tools以及Android SDK Platform-tools不一样的地方是,Android SDK Managert 保留了Android SDK Build-tools的老版本,而其余两类Tools只提供最新版的update。在博主的电脑上安装过的Build-tools就有这几个版本: 
    这里写图片描述 
    早期的Build-tools放在Platform-tools中,2013年以后为了 
    将编译相关的组件从platform-tools组件中解耦,Google新建了Build-tools存放,而且Build-tools能够独立于IDE更新。eclipse

    Decoupled the build-specific components of the Android SDK from the platform-tools component, so that the build tools can be updated independently of the integrated development environment (IDE) components.工具

    为何Build-tools须要保留旧的版本,stack overflow给出的解释是保持向后兼容的能力,新的Build-tools可能移除了老版的一些特性,此时对采用老版Build-tools build的工程来讲,还得接着用旧版。

    they keep the old build tools because as they update the tools, some features become deprecated. But app developers might have source code that relies on those features so they keep the old versions available to support those old code bases.

    博主的24.0.2版本的Build-tools包含的工具以下: 
    这里写图片描述 
    包括 aapt(Android Asset Packaging Tool)安卓资源打包工具:编译应用程序的资源文件(包括 AndroidManifest.xml 和你的 Activitiy 的 xml 文件),生成 R.java 文件,这样你就能够从你的java代码中引用资源;aidl:把 .aidl 接口转换成 java 接口;dx:转化 .class 中间代码为dvlik中间代码,全部通过 java 编译的生成 .class 文件都须要此工具进行转换,最后打包进 apk 文件中等工具等等功能。 
    综上,博主建议你们建立新工程时尽可能使用最新版的build-tools,一个是新版的修复老板的一些bug,二个是功能和性能上都会有提高。

2. Platforms

每一个Android版本对应于一个Platforms版本,2016.11.16号官方给出的SDK版本可选项从Android 2.1到最新的Android 7.1.1。每一个版本的Platforms又包括Android SDK 的SDK Platform,Document,Sources以及System Image。

  1. SDK Platform 
    这个好理解,就是该版本编译好的SDK,确定是必须装的
  2. Document 
    离线的文档,方便你查阅API使用说明
  3. Sources 
    源代码,一个是学习Google优秀的源代码,二个是查看源码方便调错。
  4. System Image 
    编译好的系统映像,模拟器能够直接加载,通常不必install,建立须要的模拟器后在获取也不迟。Android Studio 2.0以后,官方提供的模拟器已经很好用了,我的以为能够不用Genymotion。

3. Extras

Extras中包含了不少blahblahblah的,比较重要的是这三个Android Support Repository , Android Support Library, Google Repository 。想知道这三者的区别,得先知道Android Studio和Eclipse在构建Android 项目时的区别。AS采用gradle构建,而eclipse采用ant构建。因此Google提供了Respository用于Android Studio,而Library用于Eclipse。

  1. Android Support Repository 
    包含支持库的本地 Maven 存储库,该存储库提供了一组丰富的 API,这些 API 兼容大多数版本的 Android。该工具是 Android Wear、Android TV 和 Google Cast 等产品的必备工具。Google之因此要提供Android Support Repository,主要基于如下三点的考虑:向后兼容——新的SDK加入的新特性能够在旧版SDK体现;提供不适合打包进framework的功能——一些非强制要求的特性经过Android Support Repository的方式,供开发者选用;为了支持不一样形态的设备——就像上面提到的,不一样的设备之间的差别功能由Support Repository实现。Android Support Repository目前包含了13类的支持库,咱们经常使用的有v4 ,v7,v13 这三种Support Library。关于Android Support Repository更多详解,参考Android Support Library的前世此生

  2. Google Repository 
    该存储库可为您的应用提供各类功能和服务,包括 Firebase、Google 地图、游戏成就和排行榜等。

除了这三个以外Intel x86 Emulator Accelerator用于加速Intel x86架构的手机模拟器,若有须要能够安装。

4. 总结

说了这么多,一张图归纳下Android SDK Manager扮演的角色就是知乎—康建伟总结的下图: 
这里写图片描述

本文的诞生要感谢 
1. Android SDk Manager里面到底哪些东西是必须下载的? 
2. What are the Android SDK build-tools, platform-tools and tools? And which version should be used? 
3. Update the IDE and Tools 
4. android sdk里的各目录做用 
5. Android Support Library的前世此生 
6. android what is the difference between Android Support Repository vs Android Support Library vs Google Repository vs Google Play Services 
很惭愧,作了一点微小的贡献!

 

参考:https://blog.csdn.net/u011026779/article/details/53178602

相关文章
相关标签/搜索