版权声明:本文为HaiyuKing原创文章,转载请注明出处!

概述

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目录下各个文件夹的作用

【Android Studio安装部署系列】四、Android SDK目录和作用分析的更多相关文章

  1. 【Android Studio安装部署系列】目录

    概述 从刚开始使用Android Studio到现在,下面所有目录下的操作,当时习惯性的把每一个整理成一个文档(其实就是简单文字描述+截图):有些地方当时是一知半解,现在会稍微明白一些.正好赶上现在有 ...

  2. 【Android Studio安装部署系列】三十六、从Android Studio3.1.4升级到Android studio3.2【以及创建android p模拟器(未成功)】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 因为想要使用Android P模拟器,所以需要将Android Studio升级到3.2版本以上. 按照官网的说法:参考<ht ...

  3. 【Android Studio安装部署系列】三十六、Android studio3.2使用过程中注意事项

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio升级到3.2之后,运行旧项目的时候出现了各种情况,特此记录下. 一.打包选项多了,一般情况下选择APK即 ...

  4. 【Android Studio安装部署系列】二十五、Android studio使用NDK生成so文件和arr文件

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio使用ndk的简单步骤. NDK环境搭建 下载NDK 下载链接:https://developer.and ...

  5. 【Android Studio安装部署系列】二十八、Android Studio查看其它APP的布局结构

    概述 日常使用别家的APP过程中,会遇到一些比较好看的布局,这时候我们就想学习一下别人的布局结构,以便参考. (1)手机连接电脑.设置手机为USB调试模式 参考<[Android Studio安 ...

  6. 【Android Studio安装部署系列】二十一、Android studio将项目上传到github中

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 两个相关概念:git和github Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.Git ...

  7. 【Android Studio安装部署系列】三十三、windows系统中通过SourceTree使用git

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 前期准备 选择代码托管服务器:gitlab.github.开源中国等. 注册账号 创建项目 安装git 参考<[Android ...

  8. 【Android Studio安装部署系列】三十、从Android studio2.2.2升级到Android studio3.0之路

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 Android Studio 3.0的新功能 https://mp.weixin.qq.com/s/2XmVG4mKEDX6-bvZ ...

  9. 【Android Studio安装部署系列】二十四、Android studio中Gradle插件版本和Gradle版本关系

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 在从Android Studio3.0.0版本升级到Android Studio3.0.1版本的时候,出现了一个问题,需要升级Gra ...

随机推荐

  1. 如何解决python升级后yum报错

    当我们yum命令的时候,会提示 "File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxEr ...

  2. pymongo连接MongoDB

    导语 pymongo 是目前用的相对普遍一个python用来连接MongoDB的库,是工作中各种基本需求都能满足具体api可以参考 pymongo APIpymongo github 安装 Mongo ...

  3. Java 读书笔记 (十四) Java 方法

    finalize() 方法 finalize() 用来清除回收对象.  //为什么要回收内存?怎样写可以避免内存过多占用?什么时候需要手动回收内存? protected void finalize() ...

  4. JUC中Lock和ReentrantLock介绍及源码解析

    Lock框架是jdk1.5新增的,作用和synchronized的作用一样,所以学习的时候可以和synchronized做对比.在这里先和synchronized做一下简单对比,然后分析下Lock接口 ...

  5. layer的删除询问框的使用

    删除是个很需要谨慎的操作 我们需要进行确认 对了删除一般使用ajax操作 因为如果同url请求 处理 再返回 会有空白页 1.js自带的样式 <button type="button& ...

  6. jquery 判断一个元素是否在数组中 $.inarry()使用

    需要判断一个元素是否在一个数组里: js indexOf()方法  如果存在 则返回该元素的下标值 如果不存在则返回-1 学习源头: http://www.w3school.com.cn/jsref/ ...

  7. java.util.Date 与 java.sql.Date 之间的转换

    SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss"); String dateStr = sdf.for ...

  8. Hibernate-ORM:05.Hibernate中的list()和iterator()

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- Hibernate中查多条(全部)使用list()或iterator() 本篇介绍: 1.如何使用list() ...

  9. MYSQL—— year类型的使用与注意点!

    mysql的日期与时间类型:分为time.date.datetime.timestamp.year,主要总结下year的用法: 1.类型支持:year 与 year(4),注意无year(2)的定义方 ...

  10. redis与CPU、内存

    任何一个后端应用,包括代码都要考虑对于CPU和内存的影响.redis本质上类似于nodejs,单进程.单线程,事件驱动,但不同的是redis是CPU密集型的.这里列出了redis与内存CPU的相关考虑 ...