
2.1 简析Android安装文件
当我们下载并安装Android SDK后,会在安装目录中看到一些安装文件。究竟这些文件是干什么用的呢?带着疑问和好奇之心,让我们一起走上学习Android安装文件的旅程。
2.1.1 Android SDK目录结构
安装Android SDK后,出现如图2-1所示的目录结构。

图2-1 Android SDK安装后的目录结构
■ add-ons:包含了官方提供的API包,例如常用的Google Map API(谷歌地图)。
■ docs:包含了帮助文档和说明文档。
■ platforms:包含了针对每个版本的SDK版本,提供了和其对应的API包以及一些示例文件,其中包含了各个版本的Android,如图2-2所示。

图2-2 platforms目录项
■ temp:包含了一些常用的文件模板。
■ tools:包含了一些通用的工具文件。
■ usb_driver:包含了AMD64和X86下的驱动文件。
■ SDK Setup.exe:Android的启动文件。
2.1.2 android.jar及内部结构
在“platforms”目录下的每个Android版本中,都有一个名为“android.jar”的压缩包。例如在笔者机器中,“platforms\android-8”目录中的内容如图2-3所示。

图2-3 android.jar文件所在目录
“android.jar”十分强大,里面包含了编译后的压缩文件和所有有用的API。只需使用Windows系统上的解压缩工具即可打开它。打开“android.jar”压缩包,打开后的内部结构分别如图2-4和图2-5所示。

图2-4 android.jar文件结构(一)

图2-5 android.jar文件结构(二)
注意
上述各个文件,对于我们研究Android应用开发没有多大帮助。但是对大家了解Android运行机制和内核却有很大帮助。
2.1.3 阅读SDK文档需要技巧
在解压缩文件“android.jar”之后,就可以了解其内部API的包结构和组织方式了。如果要深入理解各个文件包内包含的API和对应的具体用法,必须花费一定的精力和时间来研究它。学习它的捷径就是参考阅读并查找SDK帮助文档。
打开SDK帮助文档的方法非常简单,可以使用浏览器打开“docs”目录下的文件index.html,这个网页就是SDK帮助文档的主页,界面如图2-6所示。
在图2-6所示的主页中,介绍了Android基本概念和当前常用版本,在右侧和顶端导航栏中列出了一些常用的链接。此SDK文件对初学者来说十分重要,可以帮助读者解决很多常见的问题,是一个很好的学习和帮助文档。

图2-6 SDK文档主页
单击导航中的【Dev Guide】按钮打开如图2-7所示的界面。
图2-7所示页面中,左侧是目录索引链接,单击某个链接后可以在右侧界面中显示对应的说明信息。如果要想迅速地理解一个问题或知识点,可以在搜索对话框中通过输入关键字的方式进行快速检索。大家也可以从网络中获取免费的中文版帮助文档。

图2-7 SDK文档索引
2.1.4 不简单的SDK工具
在前面搭建Android开发环境时,我们已经接触到了Android SDK中的一些开发工具,例如AVD模拟器。但是SDK很不一般,在它里面集成了很多其他有用的开发工具,这些工具能够帮助我们在Android平台上开发出有用的应用程序。接下来将和大家一起领略Android SDK中这些有用的开发工具,请大家记住它们的名字和长相吧,因为它们会在以后的开发生涯中帮助我们完成很多任务。
■ Android模拟器
模拟器是运行在计算机上的虚拟移动设备,有关模拟器的基本知识已经在第1章中进行了介绍,在此不再讲解。
■ 集成开发插件ADT
Android为Eclipse定制了一个插件,即Android Development Tools(ADT),这个插件提供一个强大的综合环境用于开发Android应用程序。ADT扩展了Eclipse的功能,可以让用户快速地建立Android项目,创建应用程序界面,在基于Android框架API的基础上添加组件,以及用SDK工具集调试应用程序,甚至导出签名(或未签名)的APKs以便发布应用程序。
■ 调试监视服务ddms.bat
调试监视服务ddms.bat集成在Dalvik(Android平台的虚拟机)中,用于管理运行在模拟器或设备上的进程,并协助调试工作。它可以去除一些进程,选择一个特定的程序来调试,生成跟踪数据,查看堆和线程数据,对模拟器或设备进行屏幕快照等操作。
■ Android调试桥adb.exe
Android调试桥(adb)是多种用途的工具,该工具可以帮助我们管理设备或模拟器的状态。可以通过下面几种方法加入adb。
(1)在设备上运行shell命令
(2)通过端口转发来管理模拟器或设备
(3)从模拟器或设备上拷贝来或拷贝走文件
■ Android资源打包工具aapt.exe:此工具可以用来创建apk文件,在apk文件中包含了Android应用程序的二进制文件和资源文件。
■ Android接口描述语言aidl.exe:用于生成进程间接口代码。
■ SQLite3数据库sqlite3.exe:Android可以创建和使用SQLite数据文件,开发人员和用户可以方便地访问这些SQLite数据文件。
■ 跟踪显示工具:可以生成跟踪日志数据的图形分析视图,这些跟踪日志数据由Android应用程序产生。
■ 创建SD卡工具:用于创建磁盘镜像,此镜像可以在模拟器上模拟外部存储卡,例如常见的SD卡。
■ DX工具(dx.bat):将class字节码重写为Android字节码(被存储在dex文件中)。
■ 生成Ant构建文件(activitycreator.bat)
activitycreator.bat是一个脚本,用于生成Ant构建文件。Ant构建文件用于编译Android应用程序,如果在安装ADT插件的Eclipse环境下开发,则不需要这个脚本。
■ Android虚拟设备
在Android SDK1.5版以后的Android开发中,必须创建至少一个AVD,每个AVD模拟了一套虚拟设备来运行Android平台,这个平台至少要有自己的内核、系统图像和数据分区,还可以有自己的SD卡和用户数据以及外观显示等。