Android 学习之路 之 Android常用工具的用法(三)

前面主要介绍了 Android SDK 的安装,运行、调试环境的的搭建,以及 Android 开发环境 Eclipse 和 ADT 插件的安档,但这些内容j{是最基奉的知识,要真正掌握 Android 开发,还必须掌握 Android 开发的大量辅助工具。

1,在命令行创建、删徐和浏览 AVD

在命令行下管理 AVD 需要借助于 android 命令(位于 Android SDK 安装目录的 tools 子目录下),如果直接执行 android 命令将台启动 Android SDK 管理器。除此之外,该命令还支持如下子命令。

list:列出机器上所有已经安装的 Android 版本和 AVD 设备。

list avd:列出机器上所有已经安装的 AVD 设备。

list target:列出机器上所有已经安装的 Android 版木。

create avd:创建一个 AVD 设备。

move avd:移动或重命名一个 AVD 设备。

delete avd:删除一个 AVD 设备。

update avd:升级一个 AVD 设备使之符台新的 SDK 环境。

create project:创建一个新的 Android 项目。

update project:更新一个已有的 Android 项目。

create test-project:创建一个新的 Android 测试项目。

update test-project:更新一个已有的 Android 测试项目。

如果希望查看当前系统上已安装的 Android 版本及已安装的 AVD 设备,则运行 android list 或者 android list avd 命令即可。

如果要创建—个全新的 AVD 设备,可执行如下命令:

android create -n <avd 名称> -t <Android 版本> -b <CPU 架构> -p <AVD 设备保存位置> -s <选择 AVD 皮肤>

在上面的 create avd 子命令中,只有 一n 和 -t 选项是必需的,其余的 -b 选项、-p 选项、-t 选项都是可选的。如果不设置 -p 选项,创建的 AVD 设备默认保存在 %ANDROID_SDK_HOME%/.android/avd 路径下。

例如需要创建一个名为 leegang 的 AVD 设备,则可输入如下命令:

android create avd -n crazyit -t 10 -b armeabi-v7a

上面的命令中 10 是 Android 4.2 的代号,如图 1.19 所示。执行上面的命令,系统会提醒用户是否需要定制 AVD 的硬件,开发者可以选择 yes 或 no ,如果输入 no,即可直接开始创建 AVD 设备;如果输入 yes,即可开始定制 AVD 硬件的各种选项,定制完成后系统开始创建 AVD 设备。

为系统创建了两个 AVD 之后(前面通过图形界面创建了一个),即可在 %ANDROID_SDK_HOME%/.android 目录下看到一个 avd 子日录,该子目录下包含两个文件和两个文件夹。

fkjava.avd 和 fkjava.ini: fkava AVD 的基本信息和 AVD 设各。其中 fkjava.avd 目录下有一个 userdata.img 文件,它是 AVD 中用户数据的镜像。还有一个 sdcard.img,它是该 AVD 所使用的虚拟 SD 卡的镜像。

crazyit.avd 和 crazyit.ini:crazyit AVD 的基本信息和 AVD 设备。其中 crazyit.avd 目录下有一个 userdata.img 文件,它是 AVD 中用户数据的镜像。

2,使用 Android 模拟器(Emulator)

Android 模拟器就是台运行在电脑上的 “虚拟手机”。实际上前面我们已经使用过 Android 模拟器了,在 Android SDK 和 AVD 管理器中选中指定 AVD 设备,然后单击 “Start” 按钮就是启动模拟器来运行 Android 系统。

在 Android SDK 安装目录的 tools 子目录下有一个 emulator.exe(另外还有 emulator-arm.exe 和 emulator-x86.exe),它们都是 Android 模拟器。这个模拟器做得十分出色,几乎可以模拟真实手机的绝大部分功能,后面我们会陆续看到——当然它只是模拟,不要指望用模拟器与你现实中的朋友 “煲电话粥”。

使用 emulator.exe 启动模拟器有两种用法:

emulator -avd <AVD 名称>

emulator -data 镜像文件名称

第一种用法是运行指定的 AVD 设备,例如如下命令:

emulator -avd crazyit // 运行名为 crazyit 的 AVD 设备

第二种用法是直接使用指定镜像文件来运行 AVD,例如如下命令:

emulator -data myfile //以 myfile 作为镜像文件来运行 AVD 设备

3,使用 DDMS 进行调试

当 Android 应用在模拟嚣上运行时,我们看不到程序运行的过程,在命令行控制台也看不到程序的输出,如何调试 Android 应用昵?

不用担心 Android 已经为我们考虑好了这个问题。Android 提供了一个 DDMS 调试环境,DDMS 的全称是 Dalvik Debug Monitor Service,它是一个功能非常强大的调试环境。运行如下命令:

ddms.bat

即可看到系统启动如图 1.20 所示窗口。


                                           图 1.20 DDMS 的调试窗口

在图 1.20 所示窗口中有如下几个重要的面板。

设备面板:DDMS 窗口左上角的面板,该面板会列出当前所有运行的手机(包括真机和模拟器),并列出各手机内的所有进程信息。如果需要查看指定手机或指定进程信息,应先在该面板内选中指定手机或进程。

信息输出面板:该面板位于 DDMS 窗口的下方,相当于传统 Java 应用控制台,因此非常重要。

线程跟踪面板:该面板可用于查看指定进程内所有正在执行的线程的状态。如需要让该面板显示指定进程内线程的状态,应保证下面两步:① 在设备面板上按下 “Show thread updates” 按钮;② 在设备面板上选中需要查看的进程。

Heap 内存跟踪面板:该面扳可用于查看指定进程内堆内存的分配和回收信息。如需要让该面板显示指定进程内 Heap 的回收和分配状态,应保证下面两步:① 在设备面板上按下 “Show heap updates” 按钮;② 在设备面板上选中需要查看的进程。

模拟器控制面板:该面板用于让模拟器模拟拨打电话、发送短信等,还可以虚拟设置模拟船的位置信息等。图 1.21 显示了该面板的示意图。

文件管理对话框:该对话框默认并没有显示出来。读者可以通过单击 DDMS 窗口上主菜单 “Device-File Explorer” 来打开如图 1.22 所示的文件管理窗口。


                          图 1.21 模拟器控制面板


                     图 1.22 文件管理窗口

实际上,如果我们为 Eclipse 安装了 ADT 插件,那么 Eclipse 就会将 DDMS 集成进来,在Eclipse中可以直接切换到 DDMS 视图(Perspective)。要想将 Eclipse 切换到 DDMS 视图。

4,Android Debug Bridge(ADB)的用法

Android Debug Bridge (ADB)是一个功能非常强大的工具,它位于 Android SDK 安装目录的 platform-tools 子目录下。ADB 工具既可完成模拟器文件与电脑文件的相互复制,也可安装 APK 应用,甚至可以直接切换到 Android 系统中执行 Linux 命令。

ADB 工具的功能很多,此处就几个常用的功能略做说明。

1),查看当前运行的模拟器

输入如下命令即可查看当前运行的模拟器:

adb -devices

2),电脑与手机之间文件的相互复制

默认情况下,ADB 工具总是操作当前正在运行的模拟器。

如果需要将电脑文件复制到模拟器中,可使用 adb push 命令:

adb push d:/abc.txt /sdcard/

上面的命令将电脑的 D:\ 盘根目录r的 abc.txt 文件复制到手机的 /sdcard/ 目录下。

如果需要将模拟器文件复制到电脑中,可使用 adb pull 命令:

adb pull /sdcard/xyz.txt d:/

上面的命令将模拟器的 /sdcard/ 目录下的 xyz.txt 文件复制到电脑的 D:\ 盘根目录下。

3),启动模拟器的 shell 窗口

Android 平台的内核是基于 Linux 的,有时开发者希望直接打开 Android 平台的 shell 窗口,这样就可以在该窗口内拽行一些常用的 Linux 命令,如 ls、mkdir、rm 等。此时可考虑使用 adb shell 命令:

adb shell

4),安装、卸载 APK 程序

APK 程序就是 Android 程序的发布包。虽然我们使用 Java 开发了 Android 应用,但并不是直接将 Java 二进制文件复制到手机或模拟器上即可。为了把 Android 应用打包成个可发布的 APK 包,还需要经过如下 3 步。

通过 DX 工具对 *.class 文件进行转换。转换后通常得到一个 *.dex 文件。

通过 AAPT 工具打包所有的资源文件,打包后通常得到 *.ap_ 文件。

通过 apkbuilder 工具把前两步得到的 *.dex、*.ap_ 文件打包成 APK 包。

一旦将 Android 应用打包成 APK 包,接下来就可以通过 ADB 工具来安装、卸载 APK 程序。

使用 ADB 安装 APK 的命令格式如下:

adb install [-r] [-s] <file>

上面的命令格式指定安装 <file> 代表的 APK 包。其中 -r 表示重新安装该 APK 包;-s 表示将 APK 包安装到 SD 卡上——默认是将 APK 包安装到内部存储器上。例如如下命令即可安装 test.apk 包:

adb install test.apk

如果希望从 Android 系统中删除指定软件包,则可使用如下命令:

adb uninstall [-k] <package>

上面的命令格式指定删除 <package> 代表的 APK 包。其申 -k 表示只删除该应用程序,但保留该程序所用的数据和缓存日录。

5),使用 DX 编译 Android 应用

前面已经提到,Android 平台有个重要的概念:Android 运行时。Android 运行时使用的虚拟机并没有遵循 JVM 规范.Android 所使用的虚拟机是 Dalvik 虚拟机。

Dalvik 虚拟机并不直接运行 Java 二进制文件,而是运行它特有的 *.dex 文件,因此我们需要通过 DX 工具将 Android 应用的 *.class 文件转换为 *.dex 文件。

DX 工具的常见命令格式如下:

dx --dex [--dump-to=<file>] [--core-library] [<file>.class | <file>.{zip, jar, apk} | <directory>] 

上面的命令中 [--dump-to-<file>] 指定生成的 *.dex 文件的文件名;而 --core-library 指定需要转换的 *.class、*.zip、*.jar 文件或者目录。

例如如下命令:

dx -dex --dump-to=g:\a.dex --core-library d:\helloworld\bin

将 d:\helloworid\bin 路径下所有二进制文件转换为 g:\ 根目录下的 a.dex 文件。

6),使用 Android Asset Packaging Tool((AAPT)打包资源

当开发 Android 应用时,该应用中可能会包含许多资源文件,包括各种图片、音频文件等。当我们需要发布一个 APK 包时,这些资源文件也是必不可少的。

AAPT 工具也支持很多子命令。

aapt l[ist]:列出资源压缩包内的内容。

aapt d[ump]:查看 APK 包内的指定内容。

aapt p[ackage]:打包生成资源压缩包。

aapt r[emove]:从压缩包中删除指定文件。

aapt a[dd]:向压缩包中添加指定文件。

aapt v[ersion]:打印 AAPT 的版本。

通过上面的介绍不难看出,应用使用 appt p 命令来打包资源包。APPT 工具打包资源包时常用的语法格式如下:

aapt -A <附件资源路径> -S <资源路径> -M <Android 应用清单文件> -I <额外添加的包> And -F 目标文件的路径

例如执行如下命令:

aap -A assets -S res -M AndroidManifest.xml -I D:\android-sdk-windows\platforms\android-9\atforms\android-9\android.jar -F bin\res.ap_

上面的命令将当前日录下 assets 子目录、res 子目录、AndroidManifest.xml 文件都打包到 bin\res.ap_ 资源包中。

7),使用 mksdcard 管理虚拟 SD 卡

正如前面在 Android SDK 和 AVD 管理中见到的,我们可以在创建 AVD 设备时创建一个虚拟 SD 卡。实际上还可以使用 mksdcard 命令来单独创建个虚拟存储卡。

mksdcard 命令的语法格式如下:

上面的命令格式中‘size>指定虚拟SD卡的大小,<file>指定保存虚拟SD卡的文件镜像。

例如如下命令:

mksdcard 64M D:\avds\.android\avd\leegang.avd\sdcard.img

创建了一个大小为 64MB 的虚拟 SD 卡,该 SD 卡对应的镜像文件为 D:\avds\.android\avd\leegang.avd\sdcard.img。

如果希望在启动模拟器时使用指定虚拟 SD 卡,则在启动模拟嚣时增加 -sdcard <file> 选项,其中 <file> 代表了虚拟 SD 卡的文件镜像。例如如下命令:

emulator -avd crazyit -sdcard d:\sdcard.img

到此为止,我们已经成功地安装了 Android SDK、配置了 Android 开发环境,并且对 Android 相关开发工具都有一个大致的了解,接下来正式开始 Android 应用开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值