连接设备

adb devices #查看连接设备
adb -s cf27456f shell # 指定连接设备使用命令
adb get-serialno #获取序列号
adb connect ip # 连接设备
adb disconnect # 断开连接

adb version 查看adb 版本信息
adb devices 查看adb 连接设备

关闭adb服务

adb kill-server

开启adb服务

adb start-server

安装应用

adb install 应用的路径

覆盖安装

adb install -r apk路径 

卸载应用

adb uninstall 应用包名

列出手机安装的所有应用包名

adb shell pm list packages 

另外带参数的还有:

adb shell pm list packages -f, 输出包和包相关联的文件
adb shell pm list packages -d, 只输出禁用的包。由于本机禁用没有,输出为空。
adb shell pm list packages -e, 只输出启用的包。
adb shell pm list packages -s, 只输出系统的包。
adb shell pm list packages -3, 只输出第三方的包。
adb shell pm list packages -i, 只输出包和安装信息(安装来源)。
adb shell pm list packages -u, 只输出包和未安装包信息(安装来源)。
adb shell pm list packages --user <USER_ID>, 根据用户id查询用户的空间的所有包,USER_ID代表当前连接设备的顺序,从零开始:
adb shell pm list packages -e “ximalaya”, 只输出启用的包。

将电脑文件传送到手机上

adb push 电脑路径 移动端路径 

 将手机上的文件传送到电脑上

adb pull 移动端路径 电脑路径

打开移动网络

adb shell svc data enable

关闭移动网络 

adb shell svc data disable 

 打开wifi

adb shell svc wifi enable

关闭wifi

adb shell svc wifi disable

 自动重启

adb reboot

开启网络连接调试

adb connect 设备ip地址

关闭网络连接调试

adb disconnect 设备ip地址 

屏幕及显示

查询屏幕分辨率: $adb shell wm size

将分辨率修改为 480px * 1024px: $adb shell wm size 480x1024
查询屏幕密度: $adb shell wm density

屏幕密度修改为160dpi: $adb shell wm density 160

恢复原屏幕密度: $adb shell wm density reset 
查询显示屏参数: $adb shell dumpsys window displays
查询帧率: $adb shell dumpsys gfxinfo
显示: $adb shell dumpsys display 

查看bug日志

adb bugreport 

查看手机日志

命令:adb logcat [选项] [过滤项]

Android的日志级别:
 V —> Verbose(最低,输出得最多)
 D —> Debug
 I —> Info
 W —> Warning
 E —> Error
 F —> Fatal
 S —> Silent(最高)
过滤指定等级日志:按某级别过滤日志则会将该级别及以上的日志输出。eg:adb logcat *:W
adb logcat -t 5:输出最近5行的数据

获取全量日志

adb pull data/log/android_logs
adb pull data/log/jank/logCached
adb pull data/log/dubai/systrace 

查询IP地址

adb shell dumpsys location 

monkey测试

 命令格式:monkey -p 包名 --throttle 时间间隔 百分比事件 事件占比 -v -s seed值 操作次数

-p:指定要测试的包,若不指定则在整个系统中执行
 i. 指定一个包执行10次:monkey -p 包名 10
 ii. 指定多个包执行10次:monkey -p 包名 -p 包名 10

-v:指定反馈日志的详细程度级别,有3个级别:
 i. -v:默认级别,精简的日志,仅提供启动、测试完成和最终结果等少量信息。

        eg:monkey -p 包名 -v 10
 ii. -v -v:提供较为详细的日志,包括每个发送到Activity的事件信息。

        eg:monkey -p 包名 -v -v 10
 iii. -v -v -v:提供最详细的日志,包括了测试中选中/未选中的Activity信息。

        eg:monkey -p 包名 -v -v -v 10

-s:指定伪随机数生成器的seed值,即seed种子值。monkey -p 包名 –s seed值 执行次数
   注:如果seed值相同,则两次Monkey测试所产生的事件序列也相同的

       eg:
  test1:monkey -p com.qq –s 777 100
  test2:monkey -p com.qq –s 777 100,
      两次测试的效果是相同的:模拟的用户操作序列是一样的。相当于test2重复执行test1的随机操作。
     理解:test1指定seed值,test2使用seed值。

–throttle:指定每次操作的时间间隔。

      eg:
        monkey -p 包名 -v-v --pct-touch 50 --pct-trackball 50 --throttle 100 1000,每个操作间隔100ms,共执行1000次 ,其中点击事件占比50%,轨迹事件占比50%

百分比事件:
 i. –pct-touch :触摸、点击事件
 ii. –pct-motion:动作事件(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)
 iii. –pct-trackball:轨迹事件(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)
 iv. --pct-nav:“基本”导航事件(导航事件由来自方向输入设备的up/down/left/right组成)
 v. --pct-majornav:“主要”导航事件(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)
 vi. –pct-syskeys:“系统”按键事件(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)
 vii. --pct-appswitch:启动Activity。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法
 viii. –pct-flip:“键盘翻转”事件
 ix. –pct-anyevent:其它类型事件。包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等

其他参数选项:
 i. --ignore-crashes:忽略崩溃
 ii. --ignore-timeouts:忽略超时
 iii. --ignore-security-exceptions:忽略许可错误
 iv. --ignore-native-crashes:忽略本地崩溃
 v. --monitor-native-crashes:监控本地崩溃

查看所有正在运行的activity

adb shell dumpsys activity | grep -i run

打开应用

adb shell am start -n 包名/类名 

强制停止应用

adb shell am force-stop 包名

截屏

adb shell screencap -p 截图文件路径

查看应用内存使用情况

adb shell dumpsys meminfo 包名

查看手机cpu使用情况

adb shell dumpsys cpuinfo 

 adb shell top

显示磁盘使用信息

adb shell dumpsys diskstats

查看电池状态

adb shell dumpsys battery

查看电池信息,显示当前电池关键属性值 

adb shell dumpsys batteryproperties

清除应用缓存信息

adb shell pm clear 包名

模拟广播

 命令:adb shell am broadcast [options]  可以向所有组件广播,也可以只向指定组件广播

例子1:

1.向所有组件广播 BOOT_COMPLETED (开机广播)

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

2.只向 org.mazhuang.boottimemeasure/.BootCompletedReceiver 广播 BOOT_COMPLETED

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n org.mazhuang.boottimemeasure/.BootCompletedReceiver

action值:

android.net. conn.CCNNECTVITY_CHANGE 网络连接发生变化
android.intent.actian.SCREEN_ON 屏幕点亮
android.intent.actian.SCREEN_CFF 屏幕熄灭
android.intent.actian.BATTERY_Low 电量低,会弹出电量低提示框
android.int ent.actian.BATTERY_OKAY 电量恢复了
android.intent.actian.BOOT_COMIPLETED 设备启动完毕
android. intent.actian.DEVCE_STORAGE_LOw 存储空间过低
android. intent.actian.DEMCE_STORAGE_OK 存储空间恢复
android. intent.actian.PACKAGE_ADDED 安装了新的应用
android.net.wifi.STATE_CHANGE WFi状态变为启用关闭正在启动
android.net.wifi.WIH_STATE_CHANGED WFi连接状态发生变化正在关i闭/未知
android.intent.action.BATTERY_CHANGED 电池电量发生变化
android.int ent.actian.INPUT_METHOD_CHANGED 系统输入法发生变化
android.intent.actian.ACTON_POWER_CONNECTED 外部电源连接
android. int ent.action.ACTON_POWER_DISCONNE CTED 外部电源断开连接
android.intent.actian.DREAMING_STARTED 系统开始休眠
android. intent.actian.DREAMING_STOPPED 系统停止休眠
android. intent.actian.WALLPAPER_CHANGED 壁纸发生变化
android.intent.actian.HEADSET_PLUG 插入耳机
android.intent.actian.MEDIA_UNMOUNTED 卸载外部介质
android.intent.actian.MEDIA_MOUNTED 挂载外部介质
android.os.action.POWER_SAVE_MODE_CHANGED 省电模式开启

模拟按键

adb shell input keyevent keycode位操作参数

KEYCODE列表 

KEYCODE_CALL 拨号键5
KEYCODE_ENDCALL 挂机键6
KEYCODE_HOME 按键Home3
KEYCODE_MENU 菜单键82
KEYCODE_BACK 返回键4
KEYCODE_SEARCH 搜索键84
KEYCODE_CAMERA 拍照键27
KEYCODE_FOCUS 拍照对焦键80
KEYCODE_POWER 电源键26
KEYCODE_NOTIFICATION 通知键83
KEYCODE_MUTE 话筒静音键91
KEYCODE_VOLUME_MUTE 扬声器静音键164
KEYCODE_VOLUME_UP 音量增加键24
KEYCODE_VOLUME_DOWN 音量减小键25

KEYCODE_ENTER 回车键66
KEYCODE_ESCAPE ESC键111
KEYCODE_DPAD_CENTER 导航键 确定键23
KEYCODE_DPAD_UP 导航键 向上19
KEYCODE_DPAD_DOWN 导航键 向下20
KEYCODE_DPAD_LEFT 导航键 向左21
KEYCODE_DPAD_RIGHT 导航键 向右22
KEYCODE_MOVE_HOME 光标移动到开始键122
KEYCODE_MOVE_END 光标移动到末尾键123
KEYCODE_PAGE_UP 向上翻页键92
KEYCODE_PAGE_DOWN 向下翻页键93
KEYCODE_DEL 退格键67
KEYCODE_FORWARD_DEL 删除键112
KEYCODE_INSERT 插入键124
KEYCODE_TAB Tab键61
KEYCODE_NUM_LOCK 小键盘锁143
KEYCODE_CAPS_LOCK 大写锁定键115
KEYCODE_BREAK Break/Pause键121
KEYCODE_SCROLL_LOCK 滚动锁定键116
KEYCODE_ZOOM_IN 放大键168
KEYCODE_ZOOM_OUT 缩小键169

KEYCODE_MEDIA_PLAY 多媒体键 播放
KEYCODE_MEDIA_STOP 多媒体键 停止
KEYCODE_MEDIA_PAUSE 多媒体键 暂停
KEYCODE_MEDIA_PLAY_PAUSE 多媒体键 播放/暂停
KEYCODE_MEDIA_FAST_FORWARD 多媒体键 快进
KEYCODE_MEDIA_REWIND 多媒体键 快退
KEYCODE_MEDIA_NEXT 多媒体键 下一首
KEYCODE_MEDIA_PREVIOUS 多媒体键 上一首
KEYCODE_MEDIA_CLOSE 多媒体键 关闭
KEYCODE_MEDIA_EJECT 多媒体键 弹出
KEYCODE_MEDIA_RECORD 多媒体键 录音

KEYCODE_NUMPAD_0 小键盘按键'0'
KEYCODE_NUMPAD_1 小键盘按键'1'
KEYCODE_NUMPAD_2 小键盘按键'2'
KEYCODE_NUMPAD_3 小键盘按键'3'
KEYCODE_NUMPAD_4 小键盘按键'4'
KEYCODE_NUMPAD_5 小键盘按键'5'
KEYCODE_NUMPAD_6 小键盘按键'6'
KEYCODE_NUMPAD_7 小键盘按键'7'
KEYCODE_NUMPAD_8 小键盘按键'8'
KEYCODE_NUMPAD_9 小键盘按键'9'
KEYCODE_NUMPAD_ADD 小键盘按键'+'
KEYCODE_NUMPAD_SUBTRACT 小键盘按键'-'
KEYCODE_NUMPAD_MULTIPLY 小键盘按键'*'
KEYCODE_NUMPAD_DIVIDE 小键盘按键'/'
KEYCODE_NUMPAD_EQUALS 小键盘按键'='
KEYCODE_NUMPAD_COMMA 小键盘按键','
KEYCODE_NUMPAD_DOT 小键盘按键'.'
KEYCODE_NUMPAD_LEFT_PAREN 小键盘按键'('
KEYCODE_NUMPAD_RIGHT_PAREN 小键盘按键')'
KEYCODE_NUMPAD_ENTER 小键盘按键回车

参考文章地址:https://blog.csdn.net/weixin_42753043/article/details/124776700 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐