手机测试相关命令

 

  • 前言
  1. 安装abd工具
  2. 安装powercmd工具
  3. 安卓手机用数据线连接电脑,
  4. 安装手机驱动,驱动安装失败请用驱动精灵等相关软件手动安装
  5. 打开手机调试选项:

 

 

 

  1. 打开cmd命令窗口,运行命令adb devices,如果返回设备信息则连接成功

 

 

  • 无线连接设备的方法:

在开发Android应用时,通常情况下是通过USB数据线连接设备和计算机,但对于一些需要使用USB设备的应用,这种方法就碰到了麻烦,手机的USB接口已经和外接的USB设备连接,无法再连数据线,此时可以通过网络TCPIP的方法来进行。也就是然ADB 通过网络来连接设备,而无需USB数据线。

具体方法如下:

1. 使用USB数据线连接设备。

2. 在命令行输入adb tcpip 8888 ( 8888为端口号,可以自由指定)。

 

3. 断开 USB数据,此时可以连接你需要连接的|USB设备。

4. 再计算机命令行输入 adb connect <设备的IP地址>:8888

 

后面就可以使用ADB ,DDMS 来调试Android应用或显示Logcat 消息。

 

5. 如果需要恢复到USB数据线,可以在命令行输入adb usb。恢复成USB数据线连接方式后,需要重新用数据线连接手机,重复1~4步才能再次无线连接获取日志。

注: Android设备的IP地址可以在Settings->About Phone->Status 查到

 

 

  • Adb常用基本命令:
  • 获取安卓手机log日志步骤:

测试时若手机设备连着adb工具,当APP发生崩溃/其他问题之后,直接抓崩溃的日志,将日志导出来发给开发

注意事项:若手机没有连着adb工具,手机app发生问题之后在5分钟内还能抓到出错日志

 

        1. 在打开PowerCmd,在命令行中输入命令:

adb logcat -b main -v time >  log.txt

注意事项*. -b>前是有空格的

*. 在运行以上命令的时候出现app崩溃闪退等问题,等待5s后按住Ctrl+C中断命令并获取日志

 

        1. 设置PowerCmd的窗口日志显示200000行(2后面5个零,二十万):

文件->首选项->外观 勾选“启用折叠/大纲”,设置200000行到1行               

 

 

        1. 当出现安卓APP异常时,按Ctrl+c停止日志获取并记录问题发生时间(崩溃问题等待5s后再停止),
        2. 全选PowerCmd窗口打印信息,复制到txt文档,作为日志文件给到研发附到tb问题单上。如果是闪退崩溃问题请记得同步附上手机里的Buglist日志。

 

PS:

*.用手机测试同时抓log期间,时不时清空一下窗口是个好习惯。命令:“cls”

*.如果所给的日志不足,可以到powercmd的日志文件夹,拿对应时间点的日志,给到研发进行定位。

*. 手机里尽量只运行必要的APP程序,程序越多,日志就越多

 

 

  • JoyLite安卓APP闪退日志存放路径

      

 

  • monkey:

    monkey输出日志和日志分析

monkey测试的原理:利用socket通讯的方式来模拟用户的按键输入、触摸屏输入、手势输入等。

monkey测试的目的:该工具可进行压力测试,更多的是一种随机测试和稳定性测试:开发人员可以结合monkey打印的日志和系统打印的日志来分析测试的结果。

 

monkey测试中日志分析和内存泄露分析

一.monkey日志分析

 

1、程序无响应的问题:在日志中搜索“ANR”

 

2、崩溃问题:在日志中搜索“Exception“

 

看前后执行事件进行复现

 

如果Monkey测试顺利执行完成,在log的最后,会打印出当前执行事件的次数和所花费的时间;// Monkey finished代表执行完成。

 

Monkey执行中断,在log的最后也能查看到当前已执行的次数。

 

二、monkey内存泄露

 

1.内存泄露发现方法

 

执行monkey测试时有时会有内存泄露情况,可以进行排查

 

a.手机弹出out of  memory对话框--基本确定有内存泄露

 

b.手机没有提示但是实际有内存泄露:排除方法通过logcat文件GC输出lgo信息,搜关键词GC,如果有下面四个中的一个,就可能存在内存泄露。(可以打开两个命令窗口,一个执行adb logcat,再执行monkey,待monkey结束后,ctrl+c中断log抓取)

 

GC_FOR_ALLOC, 因为在分配内存时内存丌够引发的

 

GC_EXPLICIT, 表明GC被显式请求触发的,如System.gc调用

 

GC_CONCURRENT,  表明GC在内存使用率达到一定的警戒值时,自动触发

 

GC_BEFORE_OOM, 表明在虚拟机抛出内存丌够异常OOM之前,执行最后一次回收内存垃圾

 

2.发现内存泄露--内存报告分析(利用hprof参数的内存快照生成内存报告)

 

在发现内存泄露后,可以执行相同的monkey,只需多加一个参数--hprof 

 

adb shell monkey -p 包名  --hprof --throttle 100  --pct-touch 50 --pct-motion 50 -v -v -v 1000 >c:\monkey.txt

 

如果指定了这个选项,monkey会在发送时间的前后生成app内存快照文件,一般会在手机设备的/data/misc目录下生成hprof的文件。(注:  /data/misc  需要root权限,可

 

以在手机上安装个RE查看或通过手机助手查看)

 

ps:文件转换:配置monkey测试时的sdk-tools下查看是否hprof-conv命令,在命令行输入hprof-conv -help得知文件转化用法,直接转化就行,由.hprof转化成.conv格式。

 

转化后的文件用eclipse的Memory Analyzer tool(MAT)查看(此插件可以下载),可以点击 Reports->Leak Suspects链接来生成报告。

---------------------

作者:小鱼儿157

来源:CSDN

原文:https://blog.csdn.net/u011649536/article/details/49448107?utm_source=copy

版权声明:本文为博主原创文章,转载请附上博文链接!

  • 手机是否支持硬解(配置文件获取):

adb命令:
1. adb shell
2. cd system
3. cd etc
4. ls
5. 复制文件名:media_codecs.xml
6. exit

前面步骤是为了复制文件名,也可以直接复制下面命令:


7. adb pull system/etc/media_codecs.xml f:/(自己存放的目录,下载下来的media_codecs.xml用node++打开)
8. media_codecs.xml文件里找hevc,有decoder.hevc字眼,直接复制分辨率就是硬解支持的分辨率大小

 

s

 

2.2、monkey测试准备与执行

 

Monkey测试前,必须进行以下准备

 

Ø  手机屏幕超时设置为30分钟,防止手机进入锁屏状态。

 

Ø  手机开机,开启ADB模式,连接到PC

 

Ø  开启系统log。(具体可依据每个机型平台决定)

 

Ø  先在D盘中建立文件夹,例如:monkey_log

 

Ø  PC上执行 运行—>CMD,在弹出的命令窗口中,输入adb devices,检查设备是否连接

 

Ø  在弹出的命令窗口中,输入adb shell,进入Linux Shell

 

Ø  输入Ideafriend Monkey命令。如下:

  1. 3

 

adb shell monkey -p io.jjyang.joylite -s 100 --pct-touch 20 --pct-motion 40 --pct-trackball 40 -v-v-v --throttle 300 1000000 >D:\monkey_log\java_monkey_log.txt

 

adb shell monkey -p 应用程序包名 -s 500 -v -v --throttle 200 10000 >D:\monkey_log\java_monkey_log.txt

忽略异常:

adb shell monkey -p com.thunderst.radio --throttle 500 -s 600 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 800000 >C:\long_radio_report.txt

参数

描述

 

-p应用程序包名

只仅针对特定包名进行测试

joylite包名: io.jjyang.joylite

smartAI包名:com.ysx.overseas.total

 

 

-s 500

伪随机数生成器seed值。Seed值为500。相同的seed值再次执行monkey,将产生相同的事件序列。

 

-v -v

日志级别为Leve1 1。将提供较为详细的日志,包括每个发送到Activity的事件信息

 

--throttle 200

事件之间延时200毫秒。可以控制monkey的执行速度,如果不指定该选项,monkey事件间将不会延时。

 

10000

执行事件数为1万次

 

 

 

 

 

 

 

  1. 4

monkey_log的文件夹下方有java_monkey_log.txt文件,打开java_monkey_log.txt,查看测试结果,进行分析

初步分析方法:

(1)、找到是monkey里面的哪个地方出现错误

(2)、查看monkey里面出错前的一些事件动作,并手动执行该动作

(3)、若以上步骤还不能找到,可以使用之前执行monkey命令,再执行一遍,注意使用的seed值要一样

测试结果分析:

(1)、ANR问题(程序无响应):在日志中搜索“ANR"(application no response)

(2)、闪退问题:在日志中搜索"crash"

(3)、异常:搜索"exception"

(4)、强制退出:搜索"force closed"

 

 

  • 如下解释下ADB常用的几个命令

查看设备

?

1

adb devices

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

 

注意事项:1.手机已开启开发者调试模式

          2.手机已开启MTP/文件传输模式,手机驱动安装成功

查看屏幕分辨率

1

adb -s +当前设备状态+shell wm size

 

安装软件

?

1

adb install [-r] [-s]

这个命令将指定的apk文件安装到设备上.
r 强制安装(在某些情况下可以已有些应用程序在运行或不可写,可加上此参数强制安装)
s apk文件安装在SD-Card

安装APK:adb install +apk应用程序(可以将apk安装包直接拖到cmd窗口执行),出现success表明安装程序成功

 

卸载软件

?

1

adb uninstall [-k] <软件名>

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

卸载APK:adb uninstall +程序包名(如:com.ysx.overseas.total),出现success表明卸载成功

 

 

从电脑上发送文件到设备

?

1

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

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

例:传送文件到手机中,如:

?

1

2

adb push recovery.img

/sdcard/recovery.img

将本地目录中的recovery.img文件传送手机的 SD卡中并取同样的文件名。

从设备上下载文件到电脑

?

1

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

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

adb pull /sdcard/Buglist  d:\androidtest\Buglist(在cmd窗口执行即可)

显示帮助信息

?

1

adb help

-- 这个命令将显示帮助信息

 

显示ADB命令版本号

?

1

adb version

 

启动计算机adb 服务进程

?

1

adb start-server

当然你可以直接使用adb devices命令时自动开启

 

  • 常见问题:
  • 设备offline

安装adb工具后,在PowerCmd上运行adb devices命令,出现设备的状态是offline,表示设备未连接,则解决方式如下:

以下方法请确保你的设备处于调试模式下。

方法一:

执行:  #adb kill-server

#adb start-server

#adb devices

看看设备是否还是处于offline状态,如果是,请尝试方法二。

方法二:重新启动设备,开机后,

执行: #adb devices

如果设备还是offline,请尝试方法三。

方法三:重启计算机,重启设备,打开PowerCmd工具,重新连接设备,打开设备的USB连接选项,执行 #adb devices

即可连接设备,打印设备日志了。

 

 

五、示例

步骤1:将android手机连接电脑,开启开发者模式,允许usb调试;

步骤2:运行logcat.bat文件,会出现cmd窗口;

步骤3如果手机程序已经发生过crash5秒后关闭cmd窗口;

            如果是想重现crash,则在手机端重现后即可关闭cmd窗口。

步骤4:在logcat.bat的同级目录下会生成一份log文件,从文件中搜查FATAL关键字,便可找到崩溃代码。

你可能感兴趣的:(adb命令及手机测试)