Android SDK目录结构介绍

Android SDK目录结构介绍_第1张图片


简短介绍:

参数描述
add-ons:Android 开发需要的第三方文件
build-tools:编译工具目录,包含了转化为davlik虚拟机的编译工具
docs:Android的文档,包括开发指南、API等
extras:某些扩展插件
platforms :存放Android不同版本API:每一个版本发布时都会有一个Google提供的sdk platform package供开发者使用
platform-tools:存放一些通用工具,比如adb.exe等
sample :Android官方提供的示例工程
sources :SDK的源码
system-images:系统镜像(模拟器的镜像文件)
temp:缓存目录
tools :编程时使用的一下重要工具。比如:DDMS安卓调试工具等


详细介绍:

add-ons

这里面保存着附加库,第三方公司为Android 平台开发的附加功能系统。比如GoogleMaps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面。

docs

  这里面是android SDKAPI参考文档,所有的API都可以在这里查到。

extras

  该文件夹下存放了Android support v4,v7,v13,v17包;还有google提供额USB驱动、Intel提供的硬件加速等附加工具包,和market_licensing作为AndroidMarket版权保护组件,一般发布付费应用到电子市场可以用它来反盗版。

platforms

  每个平台的SDK真正的文件,存放了不同版本的android系统。里面会根据API Level划分SDK版本,这里就以Android2.2来说,进入后有 一个android-8的文件夹,android-8进入后是Android2.2SDK的主要文件,其中ant为ant编译脚本,data保存着一些系 统资源,images是模拟器映像文件,skins则是Android模拟器的皮肤,templates是工程创建的默认模板,android.jar则 是该版本的主要framework文件,tools目录里面包含了重要的编译工具,比如aapt、aidl、逆向调试工具dexdump和编译脚本dx。

samples

  是Android SDK自带的默认示例工程,里面的apidemos强烈推荐初学者运行学 习,对于SQLite数据库操作可以查看NotePad这个例子,对于游戏开发Snake、LunarLander都是不错的例子,对于Android主 题开发Home则是androidm5时代的主题设计原理。

重点介绍下面这3个

platform-tools

  保存着一些Android平台相关通用工具,比如adb、和aapt、aidl、dx等文件,这里和platforms目录中tools文件夹有些重复,主要是从android2.3开始这些工具被划分为通用了。

tools

  作为SDK根目录下的tools文件夹,这里包含了android 开发和调试的工具,比如ddms用于启动Android调试工具,比如logcat、屏幕截图和文件管理器,而draw9patch则是绘制android平台的可缩放png图片的工具,sqlite3可以在PC上操作SQLite数据库,而monkeyrunner则是一个不错的压力测试应用,模拟用户随机按键,mksdcard则是模拟器SD映像的创建工具,emulator是 Android SDK模拟器主程序,不过从android 1.5开始,需要输入合适的参数才能启动模拟器,traceview作为android平台上重要的调试工具。

build-tools

  保存着一些Android平台相关通用工具,比如adb、和aapt、aidl、dx等文件。aapt即Android Asset Packaging Tool , 在SDK的build-tools目录下. 该工具可以查看, 创建,更新ZIP格式的文档附件(zip, jar, apk). 也可将资源文件编译成二进制文件。Adb 即android debug bridge 管理模拟器和真机的万能工具,ddms 调试环境AIDL 即 Android Interface definition language它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口Emulator即android 的模拟器dx:转化.class中间代码为dvlik中间代码,所有经过Java编译的生成.class文件都需要此工具进行转换,最后打包进apk文件中。Dexdump即AndroidEmulator中可以找到一个名为dexdump的程序,通过dexdump可以查看出apk文件中的dex执行情况,粗略分析出原始java代码是什么样的和Dot Net中的Reflector很像。

注意:这里会涉及到一个问题,就是build-tools后边会有不同的api版本号!

  1. builde-tool Version是你构建工具的版本,这个版本号一般是API-LEVEL.0.0。
    例如I/O2014大会上发布了API20对应的build-tool的版本就是20.0.0,在这之间可能有小版本,例如20.0.1等等。
  2. 在ecplise的project.properties中可以设置sdk.buildtools=20.0.0。也可以不设置,不设置的话就是指定最新版本。而在Android Studio中是必须在build.gradle中设置。
  3. Android都是向下兼容的,你可以用高版本的build-tool去构建一个低版本的sdk工程,例如build-tool的版本为20,去构建一个sdk版本为18的工程!

你可能感兴趣的:(Android)