首页 > 其他分享 >adb常用命令

adb常用命令

时间:2023-07-30 16:56:15浏览次数:36  
标签:包名 shell 获取 userId apk adb 常用命令

1. *查看已连接的设备列表adb devices

这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器有哪些。

2. 断开设备:adb disconnect IP

3. 连接设备:adb connect IP  # (手机和电脑处于同一局域网

 

4. *开启adb服务:adb start-server

5. *关闭adb服务:adb kill-server

6. *安装软件包:adb install [apk路径]

例如:adb install -r -t [apk路径]

(-r 代表如果apk已安装,重新安装apk并保留数据和缓存文件。-t 表示强制覆盖。apk路径则可以直接将apk文件拖进cmd窗口,记得加空格。)

7. *卸载软件包:adb uninstall [apk包名]

8. 获取软件包名

列出手机装的所有app的包名:adb shell pm list packages

列出系统应用的所有包名:adb shell pm list packages -s

列出除了系统应用的第三方应用包名:adb shell pm list packages -3

(查不出?建议重启一下雷电模拟器)

9. *显示当前打开的软件包名(需要打开目标软件)

Windows端:adb shell dumpsys window | findstr mCurrentFocus

Mac/linux端:adb shell dumpsys window | grep mCurrentFocus

10. 清除应用数据与缓存:adb shell pm clear [apk包名]

11. 启动、停止应用

启动:adb shell am start 包名/activity名

(包名是软件的标识,Activity主要描述app的某个页面)

停止:adb shell am force-stop (apk包名)

12. 获取APP日志adb logcat  > 本地文件

(注意:执行命令后,手机上操作复现步骤,产生的日志会记录到本地文件)

  • > :覆盖文件内容
  • >> :追加在文件末尾

使用场景: 测试期间记录日志:adb logcat > 本地文件

避免问题由于不确定复现步骤而导致无法复现,并且被研发拒绝。

下图,产生的日志会覆盖( > )在log.txt文件里

举例:

1、执行下面命令,然后去使用app

2、使用完后,Ctrl+C结束日志获取

3、查看获取的log.txt文档即可。

13. 获取APP启动时间adb shell am start -W 包名/activity

  • -W :获取时间
  • -S:表示每次启动前先强行停止 (即冷启动的时间)
  • -R 数字:表示重复执行测试次数

注意:参数均为大写,顺序可以调整,但-R后必须是数字

常见的三个指标

  • ThisTime:当前activity的时间。
  • TotalTime:应用的启动时间,包括创建进程、App初始化、Activity初始化到界面显示。
  • WaitTime:前一个应用activity pause的时间+TotalTime。

14. 获取内存信息adb shell dumpsys meminfo 包名

(1)Native/Dalvik的Heap信息

如果发现这个值一直增长,则代表程序可能出现了内存泄漏(Out of memary)。

(2)Total的PSS信息

这个值是应用真正占据的内存大小,通过这个信息,可以轻松判别手机中哪些程序占内存比较大。

15. 查看CPU占用情况

1. adb shell dumpsys cpuinfo   # 查看当前CPU占用情况)

2. adb shell top -s 9   # 默认9,按指定列排序

16. 获取流量消耗值

1、获取userId(返回数据为userId=):

adb shell dumpsys package 包名 | findstr userId

2、获取上行流量(返回数据单位bytes):(userId填写具体数字)

adb shell cat proc/uid_stat/userId/tcp_snd

3、获取下行流量(返回数据单位bytes):(userId填写具体数字)

adb shell cat proc/uid_stat/userId/tcp_rcv

17. 稳定性测试(Monkey测试)

1、adb shell monkey -p 包名 数字 -v >本地文件

  • -p : 指定包名(所有命令都在此包内执行,如不指定,则在整个系统内执行)
  • 数字 : 表示模拟无序操作次数
  • -v : log详细程度,最高支持’-v -v -v’最详细,该参数
  • --throttle 500 : 单步延时500ms(每步操作间隔,单位毫秒)

示例 :adb shell monkey -p 包名 1000 -v -v -v --throttle 500 >本地文件

(执行命令后,查看软件会被自动模拟操作,然后生成日志文件。)

 

标签:包名,shell,获取,userId,apk,adb,常用命令
From: https://www.cnblogs.com/lwj0126/p/17591654.html

相关文章