Fork me on GitHub

安卓测试【三】adb简单命令及monkey使用

配置好android sdk环境变量之后,将android手机连接到电脑上,进行一些adb的简单命令的操作。

 

adb,安卓调试桥,android   sdk的一个工具。直接操作管理安卓模拟器或者真实的安卓设备。

借助adb工具,管理设备或手机模拟器的状态,进行很多手机操作,如安装软件、系统升级、运行shell命令等等。

其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。

 

常用命令:

1、adb  install   path(电脑sdk的命令目录)  install   apk

2、查看adb命令帮助信息:

      adb help

3、adb  uninstall    package_name    卸载apk

4、adb   device

5、adb   LogCat    查看日志输出

6、adb  shell  pm    查看adb  shell  pm的相关用法

7、adb  -s   devicename  序列号    

8、进入通过adb 连接上设备以后,通过如下命令查看:

    >cmd进入命令界面,输入adb  shell

    >然后输入pm list packages查看包名

    演示显示:

    

9、查看手机应用的包名

  输入命令adb  shell pm  list packages

10、查看包名对应的apk路径及名称

  adb shell pm list  packages  -f

 11、adb shell dumpsys  列出手机所有apk的详细信息

 

12. 获取模拟器中的文件:

      adb pull <remote> <local>

13. 向模拟器中写文件:

      adb push <local> <remote>

14. 进入模拟器的shell模式:

      adb shell

15. 启动SDK,文档,实例下载管理器:

      android

16. 缷载apk包:

      adb shell

      cd data/app

      rm apk包

      exit

      adb uninstall apk包的主包名

      adb install -r apk包

17. 查看adb命令帮助信息:

      adb help

18. 在命令行中查看LOG信息:

      adb logcat -s 标签名

19. adb shell后面跟的命令主要来自:

      源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。

20. 删除系统应用:

      adb remount (重新挂载系统分区,使系统分区重新可写)。

      adb shell

      cd system/app

      rm *.apk

21. 获取管理员权限:

      adb root

22. 启动Activity:

      adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。

23、发布端口:

    你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如: 
adb forward tcp:5555 tcp:8000

24、复制文件:

    你可向一个设备或从一个设备中复制文件, 
     复制一个文件或目录到设备或模拟器上: 
  adb push <source> <destination></destination></source> 
      如:adb push test.txt /tmp/test.txt 
     从设备或模拟器上复制一个文件或目录: 
     adb pull <source> <destination></destination></source> 
     如:adb pull /addroid/lib/libwebcore.so .

25、搜索模拟器/设备的实例:

     取得当前运行的模拟器/设备的实例的列表及每个实例的状态: 
    adb devices

26、查看bug报告: 
adb bugreport 
27、记录无线通讯日志:

    一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录: 
    adb shell 
    logcat -b radio

28、获取设备的ID和序列号:

     adb get-product 
     adb get-serialno

29、访问数据库SQLite3

     adb shell 
     sqlite3

#cd system/sd/data //进入系统内指定文件夹 
#ls //列表显示当前文件夹内容 
#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件 
#rm xxx //删除文件xxx 
#rmdir xxx //删除xxx的文件夹

 

▲额外一些操作命令

  1. 查看设备

  adb devices

这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示

  2.安装软件

  adb install

adb install <apk文件路径> :这个命令将指定的apk文件安装到设备上

  3. 卸载软件

  adb uninstall <软件名>

  adb uninstall -k <软件名>

如果加 -k 参数,为卸载软件但是保留配置和缓存文件.

  4. 进入设备或模拟器的shell:

  adb shell

通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:

  adb shell [command]

如:adb shell dmesg会打印出内核的调试信息。

  5. 发布端口

可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:

adb forward tcp:5555 tcp:8000

  6. 从电脑上发送文件到设备

  adb push <本地路径> <远程路径>

用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)

  7. 从设备上下载文件到电脑

  adb pull <远程路径> <本地路径>

用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑

  8、查看bug报告

adb bugreport

  9、记录无线通讯日志

一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:

adb shell

logcat -b radio

  10、获取设备的ID和序列号

adb get-product

adb get-serialno

adb shell

sqlite3

 

简单了解adb命令后,先接触最简单的monkey测试。

monkey常用参数

  >连接手机,控制台输入adb  shell

  >输入mongkey,会显示monkey命令的参数

    

    >用adb  shell  pm  list packages查看包名;

    >monkey常用参数

      -p   指定包名(所有命令在此包内执行,如不指定则在整个系统内执行)

      -v  log详细程度(最高支持-v -v -v)

      -s  种子(指定种子后,同一个命令在任意时间地点的执行顺序都相同)

      --throttle  单步延时(每步操作间隔,单位毫秒)

      --kill-process-offer-error  出错时杀掉进程

      --ignore-timeouts  忽略超时错误

      --igore-security-exceptions  忽略许可错误

    示例:

    

     ▲指定包名为com.baidu.map.location,log详细程度最高,随即数种子为12,单步延时500ms,总执行1000步。

      在加了-s命令后,为保证后续同一条命令得出同样的结果,在执行命令前,设备的状态必须相同。

 

 

简单了解adb命令后,先接触最简单的monkey测试。

 

monkey常用参数:

  >连接手机,控制台输入adb  shell

  >输入mongkey,会显示monkey命令的参数

    

    >用adb  shell  pm  list packages查看包名;

    >monkey常用参数

      -p   指定包名(所有命令在此包内执行,如不指定则在整个系统内执行)

      -v  log详细程度(最高支持-v -v -v)

      -s  种子(指定种子后,同一个命令在任意时间地点的执行顺序都相同)

      --throttle  单步延时(每步操作间隔,单位毫秒)

      --kill-process-offer-error  出错时杀掉进程

      --ignore-timeouts  忽略超时错误

      --igore-security-exceptions  忽略许可错误

    示例:

    

     ▲指定包名为com.baidu.map.location,log详细程度最高,随即数种子为12,单步延时500ms,总执行1000步。

      在加了-s命令后,为保证后续同一条命令得出同样的结果,在执行命令前,设备的状态必须相同。

 

posted @ 2017-07-26 18:33  sunwengang  阅读(2127)  评论(0编辑  收藏  举报