运维工具之adb命令安装和使用

news2024/11/18 20:35:23

一、adb命令简介

  ADB(Android Debug Bridge)是 Android 开发者工具包中的一个命令行工具,主要用于在开发、调试和测试 Android 应用时与 Android 设备进行交互。通过 ADB 工具,开发者和用户可以从电脑对 Android 设备执行各种操作,如安装应用、传输文件、调试设备、执行命令等。博文实验环境:

  • 操作系统:win10
  • adb命令版本:1.0.32

二、安装步骤

1、下载工具包

  访问官网下载最新版本的ADB工具包,官网只提供最新版的下载,如果需要历史版本的adb工具包,我们可以百度搜索,有网友分享提供。根据系统环境选择对应的版本。
在这里插入图片描述

2、解压工具包

  将下载的工具压缩包解压到指定目录。
在这里插入图片描述

3、添加adb命令到环境变量

  进入环境变量设置添加adb软件包解压路径到环境变量中。当然adb.exe就是一个命令工具,我们不添加到环境变量中也是可以使用的,不添加环境变量我们就需要切换到指定目录下执行命令。
在这里插入图片描述

4、验证

  通过cmd进入shell终端,输入adb --version可以看到显示adb版本为35.0.2,现在我们就可以开始使用adb命令了。
在这里插入图片描述

三、命令使用简介

1、查看命令版本

C:\adb\adb-32>adb version
Android Debug Bridge version 1.0.32

2、查看设备列表

  Android手机启用开发者模式,通过USB连接就可以查看到设备。企业开发者模式是在关于手机页,连续点击版本号7次即可启用开发者模式。

C:\adb\adb-32>adb devices
List of devices attached
A2WDVB3801003010 device

3、通过网络连接Android设备

  使用adb connect通过网络连接Android设备,默认连接5555端口,默认是随机端口,我们可以使用adb connect ip:port的方式进行连接。

C:\adb\adb-32>adb connect 192.168.121.112
connected to 192.168.121.112:5555
C:\adb\adb-32>adb devices
List of devices attached
A2WDVB3801003010 device
192.168.121.112:5555 device

4、重启设备

  输入adb reboot命令会重启设备。

C:\adb\adb-32>adb reboot

5、查看设备日志

  实时获取设备的系统日志,用于调试应用程序或分析系统行为。

C:\adb\adb-32>adb logcat

6、查看设备系统信息

  输出设备上各系统服务的状态信息,用于排查性能问题或监控设备状态。

C:\adb\adb-32>adb shell dumpsys

7、进入设备的Linux shell环境

  直接进入设备的命令行界面,可以运行常规的Linux命令,如 cd, ls, top 等。如果有多个设备的时候我们可以通过-s指定终端序列号进行连接。序列号为adb devices看到的。

C:\adb\adb-32>adb shell
HNREA:/ $
C:\adb\adb-32>adb -s 192.168.121.112:5555 shell
HM5EVHw:/ # pwd
pwd
/

8、断开网络连接

C:\adb\adb-32>adb disconnect 192.168.121.112:5555

9、执行shell命令

C:\adb\adb-32>adb shell ps
USER PID PPID VSZ RSS WCHAN ADDR S NAME
shell 20152 5366 11153284 2848 0 0 R ps
C:\adb\adb-32>adb shell netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.120.181:37504 112.65.193.154:https ESTABLISHED
tcp 0 0 192.168.120.181:62110 192.168.120.5:41576 ESTABLISHED
tcp 0 0 192.168.120.181:41670 124.239.14.239:https ESTABLISHED

10、查看电池信息

  显示设备的电池状态信息,包括电量、健康状态、温度等。

C:\adb\adb-32>adb shell dumpsys battery
Current Battery Service state:
AC powered: false
USB powered: true
Wireless powered: false
Dock powered: false
Max charging current: 500000
Max charging voltage: 5000000
Charge counter: 2834000
status: 2
health: 2
present: true
level: 60
scale: 100
voltage: 3930
temperature: 340
technology: Li-ion

11、安装APK文件到设备

  将本地APK文件安装到设备,适用于测试未发布的应用。

adb install <apk文件路径>

12、卸载指定包名的应用

  移除设备上的指定应用包,可以加 -k 参数保留应用数据和缓存。

adb uninstall <包名>

13、列出设备上的所有应用包名

  获取设备上安装的应用包名,便于后续进行应用管理操作。

C:\adb\adb-32>adb shell pm list packages
package:com.chinamworld.main
package:com.hihonor.mirror
package:com.hihonor.trustspace
package:com.android.modulemetadata
package:com.hihonor.regservice
package:com.huawei.android.thememanager
package:com.android.connectivity.resources

14、将文件从本地传输到设备

  将计算机上的文件复制到设备指定路径,常用于将数据或配置文件传输到设备。

C:\adb\adb-32>dir | findstr “test”
2024/09/23 20:39 15 test.txt
C:\adb\adb-32>adb push test.txt /sdcard/Download/
0 KB/s (15 bytes in 0.073s)
在这里插入图片描述

15、将文件从设备传输到本地

  从设备获取文件到本地计算机,便于备份或分析设备上的数据。

adb pull <设备文件> <本地路径>
在这里插入图片描述

四、QA

1、连接设备的时候报错

  • 报错信息:adb server version (22631) doesn’t match this client (41); killing…
  • 报错原因:版本不匹配
  • 解决方案:下载对应的版本

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

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

相关文章

md编辑器语法

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

【递归】5.leetcode 872 叶子相似的树

1 题目描述 题目链接&#xff1a;叶子相似的树 2 解答思路 递归分为三步&#xff0c;接下来就按照这三步来思考问题 第一步&#xff1a;挖掘出相同的子问题 &#xff08;关系到具体函数头的设计&#xff09; 第二步&#xff1a;只关心具体子问题做了什么 &#xff08;关…

Swoole的多进程模块

Swoole是有自己的一个进程管理模块&#xff0c;用来替代PHP的pcntl扩展&#xff0c;需要注意Process进程在系统是非常昂贵的资源&#xff0c;创建进程消耗很大&#xff0c;另外创建的进程过多会导致进程切换开销大幅上升。 为什么不使用pcntl 1.pcntl没有提供进程间通信的功能…

AI智能眼镜_带摄像头的AI智能眼镜,AI大模型落地的载体

随着科技的迅猛发展&#xff0c;AI智能眼镜汇聚了众多硬件的优势&#xff0c;成为现代生活中不可或缺的一部分。这种创新设备不仅内嵌了耳机、摄像头以及WiFi和蓝牙模块等核心硬件&#xff0c;还具备了音频播放、图像拍摄和无线通信等多种功能&#xff0c;极大地提升了信息获取…

深度学习经典模型之BERT(上)

深度学习经典模型之BERT(下&#xff09; BERT(Bidirectional Encoder Representations from Transformers)是一个双向transformer编码器的言表示模型。来自论文&#xff1a;BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 。由Google公司的…

【WRF运行第二期(Ubuntu)】ARWpost安装及错误总结

WRF运行第二期&#xff1a;ARWpost安装及错误总结 1 ARWpost介绍2 ARWpost安装2.1 ARWpost_V3安装前准备2.2 安装ARWpost2.3 修改Makefile文件2.4 修改configure.arwp文件2.5 生成可执行文件EXE另&#xff1a;报错1-Error: Type mismatch between actual argument at (1) and a…

计算物理精解【3】- FORTRAN计算

文章目录 概述hello,world环境接收输入与输出 读取csv文件if and select case循环formatread,write formatread,write读写文件录入与读取数据文件定位csv 数组一维数组最小二乘法下标隐式循环 关系代数基本运算笛卡尔积投影选择 过程参数select case 和 过程module快排函数自定…

深度学习自编码器 - 分布式表示篇

序言 深度学习作为人工智能领域的重要分支&#xff0c;其核心在于表示学习&#xff08; Representation Learning \text{Representation Learning} Representation Learning&#xff09;&#xff0c;尤其是分布式表示&#xff08; Distributed Representation \text{Distribut…

【JUC并发编程系列】深入理解Java并发机制:高效并发背后的守护者(八、线程池的秘密)

文章目录 【JUC并发编程系列】深入理解Java并发机制&#xff1a;高效并发背后的守护者(八、线程池的秘密)1. 线程池基础知识1.1 什么是线程池1.2 为什么要使用线程池1.3 线程池使用场景1.4 线程池有哪些作用 2. 线程池基本用法2.1 线程池的创建方式2.2 线程池底层是如何实现复用…

前端vuex

需要共享的数据适合存储到vuex中 state基本使用 如果开启strict严格模式&#xff0c;直接修改上图的age会报错提示。不能在组件中直接修改state

“永辉优品”会是中国零售的答案吗?

投资者这么快就“看懂”名创优品的豪赌了&#xff1f; 9月25日&#xff0c;永辉超市继续一字涨停&#xff0c;而令人意外的是&#xff0c;名创优品也反弹近8%。 随着名创优品于9月23日晚间在港交所公告&#xff0c;以62.7亿人民币收购永辉超市29.4%的股权&#xff0c;两家公司…

数据科学的核心工具箱:全面解析pandas、matplotlib.pyplot与scipy.stats在复杂数据分析流程中的应用

在当今数据驱动的世界中&#xff0c;Python已成为数据分析和科学计算的首选语言。 而 pandas 、 matplotlib.pyplot 和 scipy.stats 这三个库则是数据科学家和分析师武器库中 的三把利剑。 1. pandas 数据处理的瑞士军刀 pandas 库是 Python数据分析 的基石&#xff0c;它…

Distilabel合成数据生成框架简明教程

Distilabel 是一个用于合成数据和 AI 反馈的框架&#xff0c;适用于需要基于经过验证的研究论文的快速、可靠和可扩展的管道的工程师。 NSDT工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 -…

SpringCloud~

帮你轻松入门SpringCloud~ 1 微服务概述 1.1什么是微服务 如idea中使用maven建立的一个个moudle&#xff0c;它具体是使用SpringBoot开发的一个小模块&#xff0c;专业的事交给专业的模块来做&#xff0c;每个模块完成一个具体的任务或功能。 1.2 什么是微服务架构 它将单一应用…

MyBatis 动态 SQL 使用指南

MyBatis 是一个流行的持久层框架&#xff0c;它通过 XML 或注解将接口方法与 SQL 映射在一起。动态 SQL 是 MyBatis 的一大特性&#xff0c;它使得构建灵活的查询变得简单。本文将通过一个 User 表的示例&#xff0c;介绍 MyBatis 中常用的动态 SQL 方法。 1. 什么是动态 SQL&…

飞驰云联亮相电子半导体数智化年会 获”数据交换领域最佳厂商”

2024年9月20日&#xff0c;“2024第二届电子半导体/智能制造数智化年会暨品牌出海论坛”于上海隆重开幕&#xff0c;Ftrans飞驰云联作为国内领先的数据安全交换厂商&#xff0c;应邀携半导体全场景产品和解决方案亮相此次峰会。会上进行了“智象奖”评选&#xff0c;Ftrans飞驰…

sql中的regexp与like区别

sql中的regexp与like区别 1、REGEXP2、LIKE3、区别与选择 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、REGEXP 用途&#xff1a;高级字符串匹配&#xff0c;使用正则表达式。特点&#xff1a;灵活性强&#xff0c;能进行复杂模式匹配…

Java项目实战II基于Java+Spring Boot+MySQL的汽车销售网站(文档+源码+数据库)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在数字化时…

【iOS】引用计数(一)

【iOS】引用计数 文章目录 【iOS】引用计数前言ARC与MRC什么是引用计数的机制内存管理的思考方式自己生成的对象非自己生成的对象不再需要自己持有就释放无法释放非自己持有的对象 autorelease小结 前言 笔者最近开始学习了一下有关于引用计数的内容&#xff0c;写这篇博客来简…

自动驾驶规划算法(一):A*算法原理和代码(c++与python)

1. A*算法简介 A*算法&#xff08;A-star algorithm&#xff09;诞生于1968年&#xff0c;由彼得哈特&#xff08;Peter Hart&#xff09;、尼尔森尼尔森&#xff08;Nils Nilsson&#xff09;和伯特拉波特&#xff08;Bertram Raphael&#xff09;三位计算机科学家提出。它的…