想要开发 Android,必不可少的就是 Android SDK,因此了解 SDK 是必不可少的。这篇博客就是写有关 Android SDK 的。
Android SDK 结构
add-ons
这里面保存着附加库,比如 GoogleMaps,当然你如果安装了 OphoneSDK,这里也会有一些类库在里面。build-tools
保存着一些 Android 平台相关通用工具,比如 adb、和 aapt、aidl、dx 等文件。aapt
Android Asset Packaging Tool , 该工具可以查看, 创建, 更新 ZIP 格式的文档附件(zip, jar, apk),也可将资源文件编译成二进制文件。adb
android debug bridge 管理模拟器和真机的万能工具。AIDL
Android Interface definition language,它是一种 Android 内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口。Dexdump
Android Emulator 中可以找到一个名为 dexdump 的程序,通过 dexdump 可以查看出 apk 文件中的 dex 执行情况,粗略分析出原始 java 代码是什么样的,和 Dot Net 中的 Reflector 很像。dx
Dx gongju 将 .class 字节码(bytecode)转换为 Android 字节码(保存在 .dex 文件中)。
docs
这里面是 Android SDK API 参考文档,所有的 API 都可以在这里查到。extras
该文件夹下存放了 Google 提供的 USB 驱动、Intel 提供的硬件加速等附加工具包。platforms
这是每个版本的 SDK 真正的文件,存放了不同版本的 Android 系统。里面会根据 APILevel 划分 SDK 版本。android.jar
是该版本的主要 framework 文件。data
保存着一些系统资源。skins
是 Android 模拟器的皮肤。templates
工程创建的默认模板。
platform-tools
保存着一些 Android 平台相关通用工具,比如 adb、和 aapt、aidl、dx 等文件,这里和 platforms 目录中 tools 文件夹有些重复,主要是从 Android 2.3 开始这些工具被划分为通用了。adb
可以让你在模拟器或设备上安装应用程序的 .apk 文件,并从命令行访问模拟器或设备。你也可以用它把 Android 模拟器或设备上的应用程序代码和一个标准的调试器连接在一起。Fastboot
刷机工具。sqlite3
这个工具能够让你方便地访问 SQLite 数据文件。这些数据文件是由 Android 应用程序创建并使用的。
samples
Android SDK 自带的默认示例工程,对于 SQLite 数据库操作可以查看 NotePad,对于游戏开发可以看 Snake、LunarLander,对于Android 主题开发 Home 则是 Android M5 时代的主题设计原理。sources
Android 源代码。system-images
Android 虚拟机的镜像。tools
这里包含了 Android 开发和调试的工具。draw9patch 则是绘制 Android 平台的可缩放 png 图片的工具,sqlite3 可以在 PC 上操作SQLite 数据库, 而 monkeyrunner 则是一个不错的压力测试应用,模拟用户随机按键,mksdcard 则是模拟器 SD 映像的创建工具,emulator 是 Android SDK 模拟器主程序,不过从 Android 1.5 开始,需要输入合适的参数才能启动模拟器,traceview 作为 Android 平台上重要的调试工具。ant
ant 编译脚本。ddms
这个工具集成了 Dalvik(为Android平台定制的虚拟机(VM)),能够让你在模拟器或者设备上管理进程并协助调试。你可以使用它杀死进程,选择某个特定的进程来调试,产生跟踪数据,观察堆(heap)和线程信息,截取模拟器或设备的屏幕画面,还有更多的功能。draw9patch
Draw 9-patch 工具允许你使用所见即所得(WYSIWYG)的编辑器轻松地创建 NinePatch 图形。它也可以预览经过拉伸的图像,高亮显示内容区域。emulator
Android SDK 模拟器主程序,不过从 Android 1.5开始,需要输入合适的参数才能启动模拟器。Hierarchy Viewer
层级观察器工具允许你调试和优化你的用户界面。它用可视的方法把你视图(view)的布局层次展现出来,此外还给当前界面提供了一个具有像素栅格(grid)的放大镜观察器,这样你就可以正确地布局了。monkeyrunner
一个不错的压力测试应用,模拟用户随机按键。mksdcard
模拟器 SD 映像的创建工具。templates
工程创建的默认模板。traceview
这个工具可以将你的 Android 应用程序产生的跟踪日志(trace log)转换为图形化的分析视图。
Android SDK工具详解
Android SDK 包含了各种各样的定制工具。
Android Emulator(Android模拟器)
它是在你的计算机上运行的一个虚拟移动设备。你可以使用模拟器来在一个实际的 Android 运行环境下设计,调试和测试你的应用程序。Adb
Android Debug Bridge(Android调试桥)工具可以让你在模拟器或设备上安装 apk 文件,并从命令行访问模拟器或设备。你也可以用它把Android 模拟器或设备上的应用程序代码和一个标准的调试器连接在一起。Hierarchy Viewer(层级观察器)
层级观察器工具允许你调试和优化你的用户界面。它用可视的方法把你的视图(view)的布局层次展现出来,此外还给当前界面提供了一个具有像素栅格(grid)的放大镜观察器,这样你就可以正确地布局了。draw9patch
Draw 9-patch 工具允许你使用所见即所得(WYSIWYG)的编辑器轻松地创建 NinePatch 图形。它也可以预览经过拉伸的图像,高亮显示内容区域。Dalvik Debug Monitor Service(Dalvik 调试监视器服务)
这个工具集成了 Dalvik(为Android平台定制的虚拟机(VM)),能够让你在模拟器或者设备上管理进程并协助调试。你可以使用它杀死进程,选择某个特定的进程来调试,产生跟踪数据,观察堆(heap)和线程信息,截取模拟器或设备的屏幕画面,还有更多的功能。Android Asset Packaging Tool (aapt)
可以让你在模拟器或设备上安装应用程序的 .apk 文件,并从命令行访问模拟器或设备。你也可以用它把 Android 模拟器或设备上的应用程序代码和一个标准的调试器连接在一起。sqlite3
这个工具能够让你方便地访问 SQLite 数据文件。这些数据文件是由 Android 应用程序创建并使用的。traceview
这个工具可以将你的 Android 应用程序产生的跟踪日志(trace log)转换为图形化的分析视图。mksdcard
帮助你创建磁盘映像(disk image),你可以在模拟器环境下使用磁盘映像来模拟外部存储卡(例如SD 卡)。dx
Dx gongju 将.class字节码(bytecode)转换为 Android 字节码(保存在 .dex 文件中)。UI/Application Exerciser Monkey
Monkey 是在模拟器上或设备上运行的一个小程序,它能够产生随机的用户事件流,例如点击(click),触摸(touch),手势(gestures),还有一系列的系统级事件。你可以使用 Monkey 来给你正在开发的程序做随机的、可重复的压力测试。