Android系统测试常用ADB命令
1、adb devices
遍历设备的SN号
2、adb version
查看adb的版本
3、adb root / adb remount
获取root权限
4、adb help
查看adb命令的使用方法
5、am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///mnt/sdcard
发送一条广播
"格式:
adb shell am broadcast -a <广播动作>"
例如:
发送一个网络变化的广播
"adb shell am broadcast -a android.net.conn.CONNECTIVITY_CHANGE"
6、am start
启动一个activity
格式:
am start -n 包名/包名.活动(activity)"
例如:adb shell am start -n com.android.camera/com.android.camera.Camera
7、am force-stop
关闭一个activity
格式:
am force-stop packageName
例如:adb shell am force-stop com.android.browser
8、pm grant
开通权限
格式:pm grant 包名 权限名"
例如:pm grant com.letv.android.agent android.permission.READ_SMS
9、adb shell pm list package
列出所有已安装的apk的包名
adb shell pm list package -3 列出查看预安装的apk
adb shell pm list package -f 列出所有apk所在的目录
adb shell pm list permissions 列出所有已知权限
adb shell pm list packages 列出所有的包名
10、adb shell pm install
安装存储在你的手机中的apk
adb install安装的apk是在电脑上,而pm install安装的apk是存储在你的手机
格式:pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH"
参数说明:
PATH 指 APK文件绝对路径和文件名
-r: 安装一个已经安装的APK,保持其数据不变
-i:指定安装的包名
-s:安装到SD卡上
-f:安装到内部Flash上
11、adb shell pm uninstall package
卸载apk
12、adb shell pm path package
列出指定包名的文件所在目录
13、adb shell reboot recovery
进入recovery模式
14、adb shell reboot bootloader
进入bootloader模式
15、adb shell dumpsys meminfo $package com.examle.xx
查看程序的内存使用情况
格式:adb shell dumpsys meminfo $package_name or $pid"
后面跟的参数是包名或者是进程id
16、 adb shell input tap x y
点击屏幕指定位置,参数x和y是手机屏幕上的坐标点
17、adb shell input swipe x1 y1 x2 y2
屏幕滑动,参数x1和y1是位移初始点,参数x2和y2是位移结束点
(x1,y1)的点位移到(x2,y2)的点时,就会形成滑动的效果
`adb shell input text <string>`在文本框中输入内容,参数传的是想要输入的内容,但是文本内容中不能有空格,也不能输入中文字符
18、adb shell input keyevent KEYCODE_VOLNME_DOWN
根据KEYCODE,响应事件
参数如下:(更多参数可上网查询)
1 --> "KEYCODE_MENU" 点击menu键
3 --> "KEYCODE_HOME" 点击home键
21 --> "KEYCODE_DPAD_LEFT" 向左滑动
22 --> "KEYCODE_DPAD_RIGHT" 向右滑动
24 --> "KEYCODE_VOLUME_UP" 音量增加
25 --> "KEYCODE_VOLUME_DOWN" 音量减小
例如:
adb shell input keyevent KEYCODE_BACK 按返回键
adb shell input keyevent 21 向左滑动
19、adb shell /system/bin/screencap –p /sdcard/screenshot.png
20、adb logcat -s TAG_NAME_1 TAG_NAME_2
格式如下:
adb logcat -c 清除缓冲区中的全部日志并退出
adb logcat -f 设置将log输出到指定的文件中<文件名>默认为标准输出(stdout)
adb logcat -g 设置打印日志缓冲区的大小并退出
adb logcat -n 设置日志的最大数目<count>,默认值是4,需要和-r选项一起使用"
adb logcat -r 没<kbytes>时输出日志,默认值是16,需要和-f选项一起使用",一般长时间输出log的话,建议使用 -f -n -r 三个参数连用,这样当一个文件输出满
了之后,可以马上在另一个中进行输出
21、adb logcat *:PRIORITY"""
例如:logcat -f /sdcard/logcat.txt - n 10 -r 102400
这条命令就是在SD中的logcat.txt文件中写入logcat信息,并且在logcat.txt达到100M以后,马上在另一个新的文件中输处logcat
显示指定告警级别的日志 告警级别:
默认是adb logcat *: I --V: Verbose (明细);
默认显示Info信息 --D: Debug (调试);
--I: Info (信息);
--W: Warn (警告);
--E: Error (错误);
--F: Fatal (严重错误);
adb logcat -s TAG_NAME_1:PRIORITY TAG_NAME_2:PRIORITY` " "-- S : Silent(Super all output)
(最高的优先级, 可能不会记载东西);
adb logcat | grep Exception\|Error
例如:adb logcat *:E 显示Error以上级别的信息"
例如:adb logcat | grep ANR 过滤出ANR的信息
22、adb shell top -参数
参数:
-m num 最大显示的进程数
-n num 显示当前进程信息的次数
-d num 每隔多长时间显示一次进程信息
-t 显示线程信息
例如:显示最大进程数2,当前进程信息显示2次
adb shell top -m 2 -n 2
23、adb shell cat
命令用于连接并显示指定的一个和多个文件的有关信息
adb shell cat /proc/meminfo` 列出手机内存使用情况
adb shell cat /proc/cpuinfo` 列出cpu信息
adb shell cat /sys/class/power_supply/battery/capacity 这里就是连接并显示指定文件capacity中的信息
24、adb shell dumpsys service_name
adb shell dumpsys meminfo 列出内存使用情况信息,其中,参数meninfo就是一个系统service
25、adb reboot edl QFIL
刷机指令 手机开机状态下,输入命令进入刷机模式
26、adb shell dumpsys activity | find mF
windows获取activity包名与启动类名
27、adb shell "ps | grep monkey"
MAC 获取activity包名与启动类名