adb基础
- 查看连接adb的设备
adb devices
- adb服务打开与关闭
adb start-server
adb kill-server
- 重启手机
adb reboot
- 安装卸载
adb install xxx.apk
adb install -r xxx.apk
adb uninstall <package_name>
-r 表示保留数据和缓存文件,重新安装apk
- 使用网络连接adb
adb connect <android_ip>
连接android设备(需要在同一网段下),并且手机要监听5555端口,使用如下命令
adb tcpip 5555
- 选择设备
当有多个设备时,需要选择具体调试哪个设备,使用 -s选择设备
adb -s HT9BYL904399 install ebook.apk
adb进阶
adb shell dumpsys捕获底层信息
- 查看当前的activity
adb shell dumpsys activity activities | findstr "jingdong"
findstr是在win环境下,unix,linux使用grep过滤。如下图,
- 查看应用的内存
adb shell dumpsys meminfo | grep "com.jingdong.app.mall"
- 通过包名查看应用的信息
adb shell dumpsys package cn.xxx
通过logcat查看启动时间
- 查看启动时间
adb logcat -s ActivityManager | findstr "Displayed"
adb logcat | grep ActivityManager
adb pm使用(package manager)
- 列出安装应用的包名
adb shell pm list packages <-s> <-3>
-s 表示系统应用 -3表示第三方应用
- 列出权限
adb shell pm list permissions <-d> <-g>
-d表示dangerous, -g表示权限组展示
- 清除应用下数据
adb shell pm clear <package_name>
包括缓存合应用数据
adb am使用
- 启动指定的activity
adb shell am start -W [packageName]/[packageName.MainActivity]
如下图,
thisTime, totalTime(创建进程+Application初始化+activity初始化到显示), waitTime(>totalTime, 包括系统影响的耗时)
注意activity export属性要 修改为true,否则会有权限的问题
adb logcat
常用的logcat 命令如下:
adb logcat *:E //过滤级别为Error的日志
adb logcat -v time *:E >D:\log.txt //日志显示时间,过滤级别是Error的信息,并将日志保存到文件
adb logcat -e ApiError //过滤关键字,-e 后为正则,可以是string注意区分大小写
adb logcat -c //清空缓存
adb shell ps | findstr 包名 //查找应用的pid
adb logcat --pid=5655 //过滤该pid的日志
参考资料:
adb logcat 查询过滤日志
Logcat 命令行工具-官网
adb其他实用命令
- 查看屏幕分辨率,屏幕密度, ip地址
adb shell wm size //查看屏幕分辨率
adb shell wm density //查看屏幕密度
adb shell wm size 1080x1920 //修改屏幕分辨率
adb shell wm density 480 //修改屏幕密度
adb shell netcfg //查看设备的 ip 地址
adb 应用
adb 抓取crash,anr 传送门
adb 获取硬件信息,传送门