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

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

目录

一、设备相关

查看设备

对指定设备操作

通过WiFi连接电脑和手机

重启设备

向手机输入框输入内容

二、APP信息分析相关

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

查看手机应用版本信息

获取顶层界面的布局信息

查看Activity栈信息

截图

录屏

查看APP应用信息列表

三、文件操作

导出文件到电脑目录

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

安装apk到手机

四、调式开发相关

清除应用数据

卸载应用

暂停进程添加断点

清除进程启动断点中断

重启adb进程

monkey命令

五、日志分支

抓取基本日志

导出crash或者anr日志


一、设备相关

查看设备

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 5555adb connect 10.226.10.68

重启设备

adb reboot
重启指定设备: adb -s 23a1d87b reboot

向手机输入框输入内容

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和一些墓碑日志。


http://www.mrgr.cn/p/00164816

相关文章

Adobe Acrobat PDF 2024

Adobe Acrobat PDF 2024正式发布&#xff01;支持Windows和macOS系统&#xff0c;新界面做了轻微调整。 下载地址 Windows客户端&#xff1a;https://www.123pan.com/s/f43eVv-GKZKd.html macOS客户端&#xff1a;https://www.123pan.com/s/f43eVv-PKZKd.html

实景三维技术在社区服务与管理领域的应用

随着科技的不断发展,实景三维技术已经成为了社区服务与管理领域的一项重要工具。实景三维技术可以通过高精度的三维建模技术,将现实世界中的场景、物体以及人物进行数字化重建,使得人们可以在计算机中实现对现实世界的全方位、多角度的观察和分析。在社区服务与管理领域,实…

【Git】安装 Git

文章目录 1. CentOS 下安装2. Ubuntu 下安装 Git 是开放源代码的代码托管工具&#xff0c;最早是在 Linux 下开发的。开始也只能应用于 Linux 平台&#xff0c;后面慢慢的被移植到 Windows 下。现在&#xff0c;Git 可以在 Linux、Unix、Mac 和 Windows 这几大平台上正常运行了…

复杂网络社区发现算法聚类分析全国电梯故障数据和可视化:诊断电梯“安全之殇”|附代码数据

参考原文:http://tecdat.cn/?p=2186 最近我们被客户要求撰写关于复杂网络社区发现算法的研究报告,包括一些图形和统计输出。 物业工程肩负着维持项目各类设施设备的正常运作,保障全体业主的正常生活,令物业保值升值,是项目的心脏部门。拓端数据(tecdat)研究人员根据全国…

2024年4月17日第三十五篇

今天商讨了任务分配和api的设计,变量的命名,工作时间:两小时。

团队演讲视频及其ppt展示

演讲视频地址:https://dmxupday.oss-cn-beijing.aliyuncs.com/video_20240417_114735_edit.mp4 ppt展示:https://files.cnblogs.com/files/blogs/821500/益享-视频分享计划.pptx?t=1713349463&download=true 部分内容展示:

安全大脑与盲人摸象

21世纪是数字科技和数字经济爆发的时代&#xff0c;互联网正从网状结构向类脑模型进行进化&#xff0c;出现了结构和覆盖范围庞大&#xff0c;能够适应不同技术环境、经济场景&#xff0c;跨地域、跨行业的类脑复杂巨型系统。如腾讯、Facebook等社交网络具备的神经网络特征&…

3D Matching:实现halcon中的find_surface_model

halcon中的三维匹配大致分为两类&#xff0c;一类是基于形状的(Shape-Based)&#xff0c;一类是基于表面的(Surface-Based)。基于形状的匹配可用于单个2D图像中定位复杂的3D物体&#xff0c;3D物体模型必须是CAD模型&#xff0c;且几何边缘清晰可见&#xff0c;使用的相机也要预…

ABC211 复盘

ABC211 复盘 [ABC211C] chokudai 思路解析 题目说的很明白,看到匹配子序列可以轻易想到是简单 dp,直接做即可。 时间复杂度:两个字符串两层循环,\(O(8 \times N)\)。 code #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 10; const long long mo…

说说你对树的理解?相关的操作有哪些?

一、是什么 在计算机领域,树形数据结构是一类重要的非线性数据结构,可以表示数据之间一对多的关系。以树与二叉树最为常用,直观看来,树是以分支关系定义的层次结构 二叉树满足以下两个条件:本身是有序树 树中包含的各个结点的不能超过 2,即只能是 0、1 或者 2如下图,左侧…

解决加载GPT2(Tensorflow预训练模型)的Linear权重到PyTorch的Linear权重 形状不匹配(互为转置)问题

解决报错内容: RuntimeError: Error(s) in loading state_dict for PyTorchBasedGPT2:size mismatch for transformer.h.0.attn.c_attn.weight: copying a param with shape torch.Size([768, 2304]) from checkpoint, the shape in current model is torch.Size([2304, 768])…

掌握网络抓取技术:利用RobotRules库的Perl下载器一览小红书的世界

引言 在信息时代的浪潮下&#xff0c;人们对于获取和分析海量网络数据的需求与日俱增。网络抓取技术作为满足这一需求的关键工具&#xff0c;正在成为越来越多开发者的首选。而Perl语言&#xff0c;以其卓越的文本处理能力和灵活的特性&#xff0c;脱颖而出&#xff0c;成为了…

golang+kafka

目录1. 安装JDK、Zookeeper、Scala、kafka2. 启动kafka3. 创建topics4. 查看topics5. 打开一个producer6. 打开一个consumer7. 测试发送和接收消息Windows下安装Kafka 1. 安装JDK、Zookeeper、Scala、kafka 安装Kafka之前,需要安装JDK、Zookeeper、Scala。Kafka依赖Zookeeper,…

golang kafka

目录1. 安装JDK、Zookeeper、Scala、kafka2. 启动kafka3. 创建topics4. 查看topics5. 打开一个producer6. 打开一个consumer7. 测试发送和接收消息Windows下安装Kafka 1. 安装JDK、Zookeeper、Scala、kafka 安装Kafka之前,需要安装JDK、Zookeeper、Scala。Kafka依赖Zookeeper,…

快速测试连接SQLServer数据库的方法

微软的SQL Server数据库应该是中小企业中使用最多的数据库,一般个人测试环境也都是用的它。 下面介绍一种快速测试SQL Server数据库连接性的方法: 1.新建一下记事本,将后缀名修改为udl;2.选中当前文件,右键打开文件属性,点选“提供程序”,选中 Microsoft OLE DB Provide…

JS代码混淆器:iPaGuard — 让你的代码看起来令人头大

在当今互联网时代,JavaScript 作为一种广泛应用的编程语言,扮演着至关重要的角色。然而,随着网络技术的不断发展,JavaScript 代码也面临着日益增加的安全威胁。为了保护 JavaScript 代码免受未经授权的复制、修改和逆向工程,开发者需要借助专业的工具和技术。其中,iPaGua…

Kano的编程之旅

瓦力觉启 |主程序原理---避障| 目录一.雷达避障(1)(2)二.深度避障1.原理2.控制3.主要函数(1).雷达避障主函数(2).相关参数三.超声波避障今日份美图 一.雷达避障 (1)(2)二.深度避障 1.原理 (1)摄像头的中心与摄像头坐标系统的中心可能存在偏差 (2)摄像头的坐标系和小车的坐标系统…

编译器优化等级提高导致的死机问题

如下图代码 理论上执行完UART4_IROHandler_num = 0才对,-O1的时候的确如此,但是开启-O3后已进入这个中断就会HardFault。 好在停止仿真后能看出来死在了哪里 然后就进来UART4_IRQHandler单步仿真看是哪句话导致的,定位到最后一句的赋值操作,应该赋值0的,但是每次都是个无序…

常见的垃圾回收器(下)

文章目录 G1ShenandoahZGC 常见垃圾回收期&#xff08;上&#xff09; G1 参数1&#xff1a; -XX:UseG1GC 打开G1的开关&#xff0c;JDK9之后默认不需要打开 参数2&#xff1a;-XX:MaxGCPauseMillis毫秒值 最大暂停的时间 回收年代和算法 ● 年轻代老年代 ● 复制算法 优点…