概述
Android SDk Tool软件开发工具包(software development kit)。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,是Android专属的软件开发工具包。
Android SDK有两种方式取得,第一是单独下载SDK,第二是ADT Bundle(集成IDE)中自带的。SDK里面的目录结构如下所示:
add-ones【文件夹】
里面保存着一些附加的库,也就是第三方公司为Android平台开发的附加功能系统。比如GoogleMaps。当然你如果安装了OphoneSDK,这里也会有一些类库在里面。
【刚开始的时候此目录内容为空】
build-tools【文件夹】
各版本SDK编译工具。
构建项目时用到的工具。当创建Android项目的时候会用到这个包。在创建项目的时候如果没有此包会报错。这里还包括一些编译工具,总之这个包不能少。
有构建工具才能将你的代码和资源文件等通过资源id等构建成一个符合Android APP层次逻辑的Android项目。
对于Android studio开发环境来讲,如果bundle.gradle文件的buildToolsVersion的值是本地缺少的某个版本的话,会出现下面的提示:
注意:
对于Android studio3.0开发环境,已经没有buildToolsVersion这个配置了,默认使用最新的SDK的编译工具版本。
和platforms目录中的SDK版本是多对一的对应关系。
docs【文件夹】
离线开发者文档Android SDK API参考文档。
extras【文件夹】
扩展开发包,如高版本的API在低版本中开发使用用到的兼容包v4、v7、v13等。
该文件下也会存放Google提供的USB驱动,Intel提供的硬件加速附件工具包。
sdk\extras\android\m2repository\com\android\support
platforms【文件夹】
这个文件夹是SDK里面最重要的文件,这个文件夹里面含有各个版本的SDK——根据API Level划分的SDK版本。
Android系统版本大大小小已经经历了10多个版本,每个版本发布时Google都会提供一个sdk platform package供开发者使用。
使用Eclipse开发环境新建项目的时候,Compile With下拉菜单列表中显示的就是这个文件夹中所有API Level版本的SDK。
使用Eclipse开发环境创建模拟器的时候,Target下拉菜单列表显示的也是这个文件夹中所有API Level版本的SDK。
使用Android Studio开发环境,如果bundle.gradle文件中的compileSdkVersion的API Level版本号不是这个文件夹中的其中一个,则会提示下面错误:
有时候我们在导入别人的项目的时候发现导入后没有SDK,就是因为我们本地的这个文件夹中没有我们导入项目编译时的SDK,我们需要在这里加入SDK或者在项目的根目录下的project.properties里面将compileSdkVersion改为platforms里面有的版本重新编译即可。
还有就是如果你在布局xml文件中如果编写没有错误,但是视图预览不了,可能是由于你SDK选择的版本有问题。
platform-tools【文件夹】
该文件夹下放了Android平台的相关工具比如adb.exe、sqlite3.exe等。保存着一些通用工具,比如adb、和aapt、aidl、dx等文件。提示:对于Android API Level1\2\3(最开始的版本),这里和platforms目录中Android API Level1\2\3版本的SDK目录中的tools文件夹有些重复,主要是从android2.3开始这些工具被划分为通用了。
随着SDK更新版本,这里的工具会有相应更新变化,但是一般都是向后兼容。
小技巧:source.properties文件可以查看版本号。(其他目录也通用)
samples 【文件夹】
Android SDK自带的默认示例工程,推荐初学者运行学习。
sdk\samples\android-5.1
sources【文件夹】
这个文件夹下面存放的是Android的源代码。各版本SDK源码。
好处就是,可以在eclipse或者Android studio开发环境编码过程中跳转到源码。
system-images【文件夹】
存放的是创建Android模拟器时的镜像文件,也就是在创建模拟器时CPU/ABI项需要选择的。从android-14开始将模拟器映像文件整理在这里(原来放在platforms下)
使用Eclipse开发环境创建模拟器的时候,CPU/ABI下拉菜单列表对应的是这个文件夹中的API Level版本的镜像文件。(如果没有相应的API Level版本的镜像文件,则显示为空)
temp【文件夹】
临时夹,一般在SDK更新安装时会自动生成一些文件。
tools【文件夹】
这个文件夹下存放了大量Android开发、调试的工具。
该文件夹存放各个版本都可通用的工具,里面有draw9patch 、hierarchyviewer、 emulator等工具。比如:
ddms用于启动Android调试工具;
logcat、屏幕截图和文件管理器;
draw9patch则是绘制android平台的可缩放png图片的工具;
sqlite3可以在PC上操作SQLite数据库;
monkeyrunner则是一个不错的压力测试应用,模拟用户随机按键;
mksdcard则是模拟器SD映像的创建工具;
emulator是Android SDK模拟器主程序,不过从android 1.5开始,需要输入合适的参数才能启动模拟器;
traceview作为android平台上重要的调试工具。
新版本中精简了一些:比如26.0.1
AVD Manager.exe【文件】
Android手机模拟器配置工具,用于配置模拟器,只有先配置AVD才可运行模拟器。
对应Android studio开发环境中的下面的图标:
SDK Manager.exe【文件】
SDK管理器,用于SDK更新、下载、删除。
对应Android studio开发环境中的下面的图标:
参考资料
Android SDK结构分析
Android SDK目录结构及作用
Android SDK 目录和作用的分析详解
详解Android SDK 目录和作用
Android SDK目录下各个文件夹的作用