adb-命令大全

news2024/9/24 15:17:07

目录

一、ADB简介

二、为什么要用ADB

三、ADB架构和原理

四、ADB日志状态

五、ADB常用命令

🎁更多干货

完整版文档下载方式:


一、ADB简介

ADB全称Android Debug Bridge,起到调试桥的作用,是一个客户端-服务端程序。其中客户端是用来操作的电脑,服务端是Android设备。

 ADB也是Android SDK中的一个工具,可以直接操作管理Android模拟器或者真实的Android设备。

二、为什么要用ADB

ADB可以直接操作管理手机模拟器或者真实的手机设备。它的主要功能有:

1、运行设备的shell命令行;

2、管理模拟器或设备的端口映射;

3、计算机和设备之间上传/下载文件;

4、可以对设备的应用进行卸载安装等;

5、在APP遇到ANR/Crash等bug时,可以通过ADB来抓取日志。

简而言之,ADB就是连接Android手机/平板和PC端的桥梁,可以让用户在电脑上对手机进行全面的操作!

三、ADB架构和原理

adb架构原理由此网址学习了解,如有侵权,请告知删除。玩转ADB命令(ADB命令使用大全)_51CTO博客_安卓adb命令大全

adb是一个C/S架构的应用程序,由三部分组成:

1、运行在pc端的adb client:

  命令行程序“adb”用于从shell或脚本中运行adb命令。首先,“adb”程序尝试定位主机上的adb服务器,如果找不到adb服务器,“adb”程序自动启动一个adb服务器。接下来,当设备的adbd和pc端的ADB server建立连接后,adb client就可以向adb server发送服务请求。

2、运行在pc端的adb server:

  adb server是运行在主机上的一个后台进程。它的作用在于检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止,adb server还需要将adb client的请求通过USB(有线连接)或者TCP(网络连接)的方式发送给对应的adbd(demon)上。

3、运行在设备端的常驻进程adb demon(adbd):

  程序“adbd”作为一个后台进程在Android设备或模拟器系统中运行。它的作用是连接ADB服务器,并且为运行在主机上的客户端提供一些服务。

四、ADB日志状态

v——明细;

D——调节;

I——信息;

W——警告;

E——错误;

F——严重错误;

S——无记载。

五、ADB常用命令

1、连接设备

有线连接:通过USB线插入P端C和安卓端连接。

无线连接

  1、安卓端连接PC端热点后,通过adb connect 安卓ip地址连接

  2、网络连接adb,需要安卓机和PC端在同一局域网(各自连接的网线都在一个局域网中),打开安卓机的开发者模式(快速连续点击关于设备,启动开发者模式),进入开发者模式启动OTG和网络adb命令后,通过adb connect 安卓的以太网地址:5555连接。

断开连接:adb disconnect ip地址

2、查看设备

adb devices #查看设备信息

输出格式为[serialNumber][state],serialNumber即是设备的序列号或ip地址,state有以下几种状态:

  offline—表示设备未连接成功。

  device—表示设备已连接。

  no device—没有设备/模拟器连接。

adb version # 设备版本

adb help # 帮助文档

adb get-state # 查看设备状态 device正常连接,offline连接异常,unknown没有连接

adb get-serialno # 获取序列号

adb get-devpath # 获取设备路径

adb shell cat /system/build.prop # 获取设备名称

3、操作多个设备

adb -a  # 监听所有网络接口,而不仅仅是localhost

adb -s 192.1678.0.8:5555 install test.apk  # 指定设备安装app应用

4、关机与重启

adb reboot # 设备重启

adb shutdown # 设备关机

5、刷机模式

adb reboot bootloader # 重启到BootLoader,即刷机模式

adb reboot recovery # 重启到recovery,即恢复模式

adb sideload <path-to-update.zip> # 更新系统

6、查看应用

adb shell pm list packages # 查看当前连接设备或者虚拟机的所有包

adb shell pm list packages -s # 只输出系统的包

adb shell pm list packages -3 # 输出所有第三方的包

adb shell pm list packages -f # 输出包和包相关联的文件(安装路径)

adb shell pm list packages "lzy" # 输出包含过滤条件的包

7、查看应用的activity信息

adb shell dumpsys activity activities # 查看所有的活动程序名

8、清楚应用数据和缓存

adb shell pm clear packagename # 清楚应用数据和缓存

9、日志

adb logcat # 查看日志

adb logcat -v time # 打印详情日志,会记录当前的所有操作行为以及产生的结果,默认持续监听,按下ctrl+c即可结束

adb logcat -v time > D:\log\logcat.log # 输出实时日志并且保存到电脑中,需要Ctrl+c停止实时日志,会自动停止log打印并抓取往前十分钟左右的日志

adb logcat bugreport >D:\log\logcat.log # 输入指令后开始抓取log,不需要按ctrl+c停止

adb logcat -f /sdcard/1.txt # 保存日志到手机

adb logcat | findstr com.android.bluetooth # 保存指定包名的日志

adb logcat -c # 清楚之前的日志输出

adb logcat | findstr ActivityManager # 查看当前正在运行的activity

adb logcat | findstr Displayed # 查看当前正在运行的activity

adb logcat -b radio # 无线通选的日志

adb shell dmesg # 内核日志

10、截屏录屏

adb shell screencap /sdcard/1.png # 当前窗口截屏保存到手机

adb pull /sdcard/1.png D:\app  #  再将手机的截图文件保存到电脑

adb exec-out screencap -p >1.png  # 截图直接保存在电脑

adb shell screenrecord /sdcard/1.mp4  # 屏幕录屏,Ctrl+c停止录制,默认时间3分钟180秒

adb shell screenrecord --time-limit 10 /sdcard/1.mp4   # 屏幕录像,限制录制时间为10秒

adb pull /sdcard/1.mp4  F:\jietu #  将录制的视频保存在f盘中

11、设备相关信息

adb shell getprop ro.build.version.release  # 查看安卓系统版本

adb shell getprop ro.product.model  # 查看设备型号

adb shell cat /sys/class/net/wlan0/address  # 查看Mac地址

adb shell wm size  # 设备屏幕分辨率

adb shell wm size 400x654  # 设置屏幕分辨率

adb shell wm size reset  # 恢复原屏幕分辨率

adb shell wm density  # 设备屏幕密度

adb shell wm density 100  # 修改屏幕密度为100dpi

adb shell wm density reset  # 恢复原屏幕密度

adb shell wm overscan 10,30,30,100 # 显示区域

adb shell wm overscan reset # 恢复原显示区域

adb shell dumpsys window displays  # 显示屏参数

adb shell service list  # 查看后台services信息

adb shell settings put global adb_enabled 0 # 关闭USB调试

adb shell uiautomator dump # 获取当前界面的控件信息

adb shell ime list -s  # 设备上的输入法

12、进程

adb shell ps # 查看手机正在运行的进程 adb shell ps | findstr bluetooth

adb shell ps -x  pid # 查看指定pid的进程状态信息

adb shell procrank # 杀进程

adb shell start adbd # 启动守护进程

adb shell stop adbd # 关闭守护进程

13、性能分析

adb shell cat /proc/cpuinfo # 获取cpu序列号

adb shell cat /proc/meminfo # 查看当前内存占用

adb shell top # 查看实时资源占用情况

adb shell top -m 6 # 查看占用内存前6的app

adb shell netcfg # 查看设备的网络连接情况

adb shell ifconfig wlan0 # 获取wlan0的ip地址和子网掩码

14、输入

adb shell input text hello # 输入hello

15、设备id

adb shell settings get secure android_id

16、无线网络

adb shell svc wifi enable # 开启wifi

adb shell svc wifi disable # 关闭wifi

17、以太网

adb root # 获取root权限

adb remount 

adb shell ifconfig eth0 up # 打开

adb shell ifconfig eth0 down # 关闭

🎁更多干货


完整版文档下载方式:

这些资料,对于从事【软件测试】等相关工作的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享。

在评论区和我互动交流或者私❤我【软件测试学习】领取即可,拿走不谢。


如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏” 一键三连哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/696696.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++数据结构X篇_06_C++单向循环链表实现

本篇参考C单向循环链表实现整理&#xff0c;先搞懂结构框架&#xff0c;后期根据视频利用c对内容实现&#xff0c;也可以对c有更高的提升。 文章目录 1. 链表定义2. 链表插入3. 链表打印(注意打印过程是跳过头节点head的)4. 实验 单向循环链表与单向链表十分相似&#xff0c;具…

ST - NUCLEO-H723ZG ITM不生效的问题

文章目录 ST - NUCLEO-H723ZG ITM不生效的问题概述CubeMX配置点END ST - NUCLEO-H723ZG ITM不生效的问题 概述 在用NUCLEO-H723ZG官方板子做实验, 想用ITM打印一些调试信息出来. 不好使啊. 后来查问题, 发现 NUCLEO-H723ZG上的HSE, LSE的晶振无效, 等于是不能用外部的HSE, LS…

如何找到更多音视频开发学习资料和资源?

如果你对学习音视频开发感兴趣&#xff0c;以下是一些建议&#xff0c;可以帮助你获取更多相关的资料和资源&#xff1a; 在线学习平台&#xff1a;参考一些知名的在线学习平台&#xff0c;如Coursera、Udemy、edX等&#xff0c;搜索他们的课程目录&#xff0c;看是否有与音视频…

【SWAT水文模型】SWAT水文模型建立及应用第六期:SWAT模型率定(SWAT CUP)

SWAT模型率定&#xff08;SWAT CUP&#xff09; 1 准备工作2 水文模型率定&#xff08;SWAT CUP&#xff09;数据准备运行流程 参考 SWAT CUP的下载及安装参见另一博客-【SWAT水文模型】SWAT-CUP安装及使用 下面将具体介绍基于实测水文站数据进行水文模型的率定。 1 准备工作…

【Centos系统故障】虚拟机断电后centos7无法正常启动 XFS(sda3)

1. 背景&#xff1a; 虚拟机断电后centos7无法正常启动 XFS(sda3)&#xff0c;通常都是断电以及非法关机&#xff0c;杀掉虚拟机等突然中断系统的情况&#xff0c;会导致内存数据损坏&#xff0c;从而导致linux操作系统无法启动。 2. 解决办法&#xff1a; 清理掉内存数据&a…

windows10 安装wsl2+docker+php+nginx+mysql

第一步在windows10 上安装docker(可视化桌面) 第二步确定本地电脑开启虚拟化&#xff0c;同时确认下方图内容已经勾选 在cmd下使用命令&#xff1a;wsl --install 安装wsl2。因 wsl2 默认安装ubuntu系统。如果安装wsl2后没有安装ubuntu系统&#xff0c;则需要去谷歌商店里搜索…

AutoJs案例---登录界面

"ui";showLoginUI(); ui.statusBarColor("#000000") //顶部颜色为黑色//显示登录界面 function showLoginUI(){ui.layout(<frame><vertical h"auto" align"center" margin"0 50"><linear><text w"…

Nextcloud实现协同办公 -V2

V1在这里&#xff1a;https://blog.csdn.net/philosophyatmath/article/details/130594037。V2没有继续使用onlyoffice而是使用nextcloud office Nextcloud 安装 LAMP&#xff08;LinuxApacheMySQLPHP&#xff09;方式。局域网单机模式。 安装环境&#xff1a; OS:ubuntu 2…

【Redis】Redis配置以及常用命令

文章目录 一、关系型数据库 与 非关系型数据库1. 关系型数据库的概念2. 非关系型数据库的概念3. 关系型数据库和非关系型数据库区别3.1 数据存储方式不同3.2 扩展方式不同3.3 对事务性的支持不同 4. 非关系型数据库产生背景5. 总结5.1 两组区别5.2 创建实例过程 二、Redis 的概…

【玩转Linux操作】详细讲解Shell的判断,循环语句

&#x1f38a;专栏【玩转Linux操作】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 大一同学小吉&#xff0c;欢迎并且感谢大家指出我的问题&#x1f970; 文章目录 &#x1f354;判断语句⭐单层if&#x1f388;示例 ⭐…

什么是动态住宅代理?

随着网络的迅速发展&#xff0c;许多人对代理IP已经有了比较深刻的认识&#xff0c;并且广泛地运用到了各自的业务中&#xff0c;尤其在跨境的相关业务中表现尤其卓越。对于代理IP的类别&#xff0c;也需要根据自己的业务类型具体选择最合适的&#xff0c;那么今天就给大家具体…

Redis之哨兵模式以及RedisTemplate的使用

Redis之哨兵模式 一 哨兵模式原理 说明&#xff1a; Sentinel具有三个作用&#xff1a;监控&#xff0c;故障转移和通知Sentinel如何判断Redis是否健康 ① 每隔1秒发送一次ping命令&#xff0c;如果超过一定时间没有响应则认为主观下线 ② 如果超过一半以上的sentinel认为实…

【软考网络管理员】2023年软考网管初级常见知识考点(25)- 网络地址转换NAT

涉及知识点 什么是NAT技术&#xff1f;静态网络地址转换&#xff0c;动态网络地址转换&#xff0c;基于端口的网络地址转换,NAPT的配置命令和动态NAT配置命令&#xff0c;软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总。 原创于…

Axure教程—下拉刷新

本文从元件的实现、交互的实现两个角度&#xff0c;拆解了APP顶部下拉刷新动效制作&#xff0c;并展示了相应的预览效果。 预览效果 预览地址&#xff1a;https://o95k8e.axshare.com 具体的实现方法 一、元件制作 拖入一个矩形元件&#xff0c;设置大小为375552&#xff0c…

Day41

思维导图 类和结构体的区别 1、结构体是一种值类型&#xff0c;类是引用类型。值类型用于存储数据的值&#xff0c;引用类型用于存储对实际数据的引用。即结构体就是当成值来使用的&#xff0c;类则通过引用来对实际数据操作。 2、结构使用栈存储&#xff08;Stack Allocation&…

最小化安装的Red Hat 9安装完Zabbix后没有中文字体报错解决

Redhat9最小化安装后&#xff0c;将 Zabbix 的界面设置为中文&#xff0c;但是系统提示你服务器上没有安装相应的语言包。这是因为 Zabbix 需要在服务器上安装相应的语言环境才能正常显示相应的语言。 报错提示&#xff1a; You are not able to choose some of the languages,…

MySQLSQL性能调优

1.对查询进行优化&#xff0c;应尽量避免全表扫描&#xff0c;首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断&#xff0c;否则将导致引擎放弃使用索引而进行全表扫描&#xff0c; Sql 代码 : select id from t wh…

直流无刷电机FOC控制算法 理论到实践 —— 实践

直流无刷电机FOC控制算法 理论到实践 —— 实践 文章目录 直流无刷电机FOC控制算法 理论到实践 —— 实践1. 前言2. FOC控制整体流程3. FOC实现3.1 定时器实现3.1.1 代码实现 3.2 角度识别3.2.1 机械角度计算3.2.2 电角度计算3.2.3 代码实现 3.3 角度识别初步验证3.4 电流采集3…

【八股】【C++】STL

这里写目录标题 STL定义两大特点两个层次STL构成 容器容器概念容器分类vectorvector概念vector数据结构常用操作 dequestack常用操作 queuelistlist概念常用操作list优势 set 与 multiset容器概念基本函数 set遍历multiset unordered_setmap/multimap容器概念基本函数multimap …

Ubuntu现可用于AMD-Xilinx Versal AI Core系列VCK190评估套件

导读Canonical宣布&#xff0c;其广泛使用的Ubuntu Linux操作系统现在可以用于AMD-Xilinx Versal AI Core系列VCK190评估套件。 Versal VCK190是AMD-Xilinx推出的首款Versal AI Core系列评估套件&#xff0c;旨在让设计人员利用AI和DSP引擎开发解决方案&#xff0c;与市场上任何…