实用工具系列-ADB使用方式

作者持续关注 WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(WPS二次开发QQ群:250325397),摸鱼吹牛嗨起来!

一、设备相关

查看设备

复制代码
adb devices

说明: 23a1d87b是设备唯一标识

对指定设备操作

复制代码
adb -s <serial number> shell ls /sdcard
如:adb -s 23a1d87b shell ls /sdcard

说明: -s后面传设备唯一标识,如果只连接了一台设备,则"-s"参数可以省略,示例如下:

通过WiFi连接电脑和手机

复制代码
前提:手机和电脑在同一局域网,如连接同一WiFi
adb tcpip 5555
adb connect <手机 ip>

如:adb tcpip 5555
   adb connect 10.226.10.68

重启设备

复制代码
adb reboot
重启指定设备: adb -s 23a1d87b reboot

向手机输入框输入内容

java 复制代码
adb shell input text xxx
如:adb shell input text abc
说明:前提是手机光标已聚焦输入框,输入命令后,内容会自动填充到输入框中。

二、APP信息分析相关

查看当前顶层应用包名和activity名称信息

复制代码
Android10之前:adb shell dumpsys window windows | findstr mCurrent
Android10或者之后:adb shell dumpsys window windows | findstr mObscuringWindow
说明: 通过命令输出的信息可以看出顶层应用包名和activity的完整类名

查看手机应用版本信息

复制代码
adb shell pm dump <package name> | findstr "versionName"

获取顶层界面的布局信息

复制代码
adb shell uiautomator dump <target sdcard dir>
如:adb shell uiautomator dump /sdcard/ui.xml,将当前布局信息导出到/sdcard,生成的文件名为:ui.xml,将该文件导出到电脑即可打开查看

查看Activity栈信息

复制代码
#查看Activity栈信息的时候打印出来的一个LRU的Activity列表,搜关键字:Visible recent tasks (most recent first)
adb shell dumpsys activity

截图

复制代码
adb shell /system/bin/screencap -p /sdcard/screenshot.png

录屏

复制代码
adb shell screenrecord /sdcard/demo.mp4

查看APP应用信息列表

复制代码
 adb shell pm list packages

三、文件操作

导出文件到电脑目录

复制代码
adb pull <mobile src file> <pc target file>
如:adb pull /sdcard/ui.xml d:\test\

将电脑文件导入到手机目录

复制代码
adb push <pc src file> <mobile target file>
如: adb push d:/test/ui.xml /sdcard/ui.xml

安装apk到手机

复制代码
adb install <-r> <-t> <file path>
参数说明: -r: 覆盖安装; -t: 安装debug模式app

四、调式开发相关

清除应用数据

复制代码
adb shell pm clear <package name>
如:adb shell pm clear com.xxx.xxx

卸载应用

复制代码
adb uninstall <packagename>
如:adb uninstall com.xxx.xxx

暂停进程添加断点

复制代码
adb shell am set-debug-app -w <process name>
如: adb shell am set-debug-app -w com.xxx.xx
说明:调试多进程很有帮助,先执行后,当指定进程启动时会弹出系统对话框暂时,直到在AndroidStudio中添加断点为止,对应用启动分析非常有帮助。

清除进程启动断点中断

复制代码
adb shell am clear-debug-app
说明:退出进程启动中断后,后面进程再启动就不会有中断系统对话框了。

重启adb进程

复制代码
adb kill-server
说明: 有时adb出现问题后需重启adb进程,通过该命令可快速重启adb进程。

monkey命令

复制代码
#对系统设置应用和计算器应用进行monkey测试共发送500个随机事件
adb shell monkey your.package.name 500

五、日志分支

抓取基本日志

复制代码
adb logcat --b radio > <pc target path>
adb logcat --b system > <pc target path>
adb logcat --b events > <pc target path>
adb logcat --b main > <pc target path>
参数说明: 
    -b: 抓取指定类型的日志
    > path: 将日志内容输入到指定的文件
如:adb logcat --b main > d:\test\test.log

导出crash或者anr日志

复制代码
adb bugreport
说明:导出是zip文件,里面包含了crash、anr和一些墓碑日志。
相关推荐
Nelson_hehe1 分钟前
Java基础第五章、面向对象程序设计
java·开发语言·枚举·垃圾回收机制·面向对象程序设计
南客先生7 分钟前
Java在云计算、大数据、云原生下的应用和优势 - 面试实战
java·大数据·微服务·云原生·云计算·容器化·分布式计算
CD-i15 分钟前
JSP实现用户登录注册系统(三天内自动登录)
java·开发语言
_小马快跑_37 分钟前
玩转 ImageView.ScaleType:图片的缩放与裁剪技巧
android
Lei活在当下38 分钟前
【现代 Android APP 架构】02. UI 层的职责与具体实现
android·架构·android jetpack
明天不下雨(牛客同名)39 分钟前
腾讯一面面经:总结一下
java·面试
带刺的坐椅39 分钟前
把 Java WebApi 快速转为 Mcp-Server(使用 Solon AI MCP)
java·api·solon·mcp·mcp-server
_一条咸鱼_42 分钟前
揭秘 Android 高级工程师面试秘籍:从源码到实战全方位剖析
android·面试·android jetpack
_一条咸鱼_43 分钟前
深度揭秘!从源码级剖析 Android 基础知识体系
android·面试·android jetpack
_小马快跑_44 分钟前
Android Studio | 使用Database Inspector 查看数据库 .db 文件,太方便了!
android