【任务描述】:安卓智能终端软件测试需要Android SDK的支持,Android SDK提供了一些基本的测试工具,如何使用这些测试工具连接上Android智能终端设备?
【任务目标】:通过连接安卓智能终端设备,掌握Android SDK提供的基本测试工具使用。
【任务储备】:
1、Android模拟器
APP应用程序需要运行在真机或者模拟器上才可以进行测试,安卓模拟器除官方提供了模拟器,还有很多第三方模拟器,如夜神模拟器、Genymotion等。本任务以官方提供的模拟器为例讲解如何创建模拟器。Android SDK在其根目录下提供了SDK Manager和AVD Manager两个管理工具,SDK Manager提供了各个版本的Android SDK套件的查看、安裝、更新及卸载,AVD Manager提供了各种安卓模拟器的创建和删除。
2、ADB
ADB(Android Debug Bridge),是一个Debug调试工具,用这个工具可以直接操作管理Android模拟器或者真实的Android设备。ADB是Android SDK里的一个是一个C/S架构的命令程序(platform-tools文件夹中),其中客户端是我们操作的电脑,服务器端是Android设备,ADB就是起到调试桥的作用,通过这个桥我们可以管理设备或手机模拟器的状态,还可以进行安卓手机的很多操作,如安装软件、系统升级、运行shell命令等等,ADB运行原理如下图所示。
图1
ADB 客户端:运行在电脑上,用来发送ADB命令。
ADB Daemon守护进程:运行在调试设备中,可以是真机,也可以是模拟器,用来接收并执行ADB命令。
ADB服务端:作为一个后台进程运行在电脑中,用来管理电脑中的Client端和手机Daemon守护进程之间的通信。
如果只有一个设备/模拟器连接时,可以省略掉[-d|-e|-s <serial-number>] 这一部分,如果有多个设备/模拟器连接,则需要为命令指定目标设备,具体参数含义下表所示。
表 1 ADB命令基本语法参数含义列表
参数 | 含义 |
-d | 指定当前唯一通过USB连接的Android 设备为命令目标 |
-e | 指定当前唯一运行的模拟器为命令目标 |
-s <serial-number> | <serial-number> 指定相应设备序列号的设备/模拟器为命令目标,serial-number是指设备的设备序列号,在多个设备/模拟器连接的情况下较常用的 |
(2)ADB常用命令
ADB命令涵盖了设备连接管理、应用管理、文件管理、网络管理、刷机等各种命令,常用的命令如下表所示。
表2 常用ADB命令列表
命令 | 含义 |
adb version | 查看adb的版本信息 |
adb start-server | 启动adb |
adb kill-server | 停止adb |
adb devices | 查询已连接的设备/模拟器列表 |
adb install [-l] [-r] [-t] [-s] [-d] [-g] <apk-file> | 给真机或者模拟器安装APP应用,具体参数含义如下: -l:将应用安装到保护目录 /mnt/asec -r:允许覆盖安装 -t:允许安装 AndroidManifest.xml里application 指定android:testOnly=“true”的应用 -s:将应用安装到sdcard -d:允许降级覆盖安装 -g:授予所有运行时权限 |
adb uninstall [-k] <package-name> | 卸载APP应用,-k 参数可选,表示卸载应用但保留数据和缓存目录 |
adb shell pm clear <package-name> | 清除应用数据与缓存 |
adb shell dumpsys activity activities | 获取设备(模拟器)中当前活跃APP的appPackage和appActivity |
【任务实施】
1、使用AVD Manager新建一个模拟器;
2、使用ADB命令查询已连接的模拟器列表;
3、使用ADB命令将RMB.apk安装到新建的模拟器中;
4、打开刚安装的APK应用“RMB”,在命令行查看该APP的appPackage和appActivity;
5、使用ADB命令将安装到模拟器中的news.apk卸载。
完整操作视频如下:

