ADB详细教程

目录

一、ADB简介

二、配置

配置环境变量

验证是否安装成功

三、简单使用

基本命令

设备连接管理

USB连接

WIFI连接(需要USB线)

开启手机USB调试模式

开启USB调试

四、其他

更换ADB默认启动端口


一、ADB简介

ADB(Android Debug Bridge)是一种允许模拟器或已连接的 Android 设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。可以在Android SDK/platform-tools中找到 adb 工具或下载ADB Kits。

ADB是Android SDK里的一个工具,用这个工具可以直接操作管理Android模拟器或者真实的Android设备。它的主要功能有:

  • 在设备上运行Shell命令;将本地APK软件安装至模拟器或Android设备;
  • 管理设备或手机模拟器上的预定端口;
  • 在设备或手机模拟器上复制或粘贴文件。

ADB是一个客户端-服务器程序,包含三个组件:

  • 客户端:该组件发送命令。客户端在开发计算机上运行。可以通过发出adb命令从命令行终端调用客户端。
  • 后台程序:该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。
  • 服务器:该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。

二、配置

此处,省略下载安装过程。

配置环境变量

在环境变量中添加adb路径。

验证是否安装成功

win+r输入cmd,输入adb,输入adb --version,

三、简单使用

基本命令

(1)查看adb的版本信息

adb version

(2)启动adb

一般不需要执行adb start-server命令,因为在运行adb命令时如果发现adb server没有启动会自动调用。

(3)停止adb

adb kill-server

设备连接管理

USB连接

通过USB连接使用ADB需要以下步骤:

  • 确定硬件状态正常(包括Android设备处于正常开机状态,USB连接线和各种接口完好)。
  • Android设备的开发者选项和USB调试模式已经开启(在[设置]-[开发者选项]-[USB调试]打开USB调试)。
  • 确认设备驱动状态正常(安装ADB驱动程序)。
  • 通过USB线连接点好和设备后确认状态。
  • 通过adb devices命令查看设备连接情况。

WIFI连接(需要USB线)

借助USB通过WIFI连接来正常使用ADB需要一下步骤:

  • 将Android设备与要运行adb的电脑连接到同一个WIFI。
  • 将设备与电脑通过USB线连接(可以通过adb devices命令查看设备连接情况)。
  • 通过adb tcpip 5555命令让设备在5555端口监听TCP/IP连接。
  • 断开USB连接。
  • 找到设备的IP地址(可以在[设置]-[关于手机]-[状态信息]-[IP地址]查看IP地址)。
  • 通过adb connect <device-ip-address>命令使用IP地址将Android设备与电脑连接。
  • 通过adb devices命令查看设备连接情况。
  • 使用完毕后可通过adb disconnect <device-ip-address>命令断开无线连接。

开启手机USB调试模式

(1)开启手机开发者模式

“USB调试”开关位于开发者选项页面,但开发者选项的入口默认隐藏。不同的设备, 开发者选项界面所在的位置或所用的名称可能有所不同。但是方法都是一样的。

首先,进入“设置-关于手机”页面。

其次,找到设备的版本信息、或是安卓版本号、或是软件版本号(不知道是哪个,也可以把关于手机页面每个版本信息点过去[苦笑],快速点击多次,如果是正确的,就会有提示“再点*次即可开启开发者模式”)。

然后,快速点击多次7次,就可以看到“已开启开发者模式”的提示。

最后,返回“系统管理”,或是设置页面,就可以看到“开发者选项”,一般都在页面偏下的位置。

以下是打开开发者选项的示例(以VIVO手机):

进入“设置 >系统管理 >关于手机>版本信息 ” 页面。

点击7次“软件版本号”,就可以看到“已开启开发者模式”的提示。
(因为这台设备已经开启了开发者模式,所以点击之后提示的是“您已处于开发者模式,无需进行此操作”)。

返回系统管理页面,滑到最底部就可以看到“开发者选项”。

开启USB调试

进入开发者选项,开启开发者选项开关。

往下滑,找到USB调试开关,并开启。

四、其他

更换ADB默认启动端口

经常会遇到一个问题是adb端口被占用,大家都知道Android默认的adb端口是5037,电脑上有一些应用的端口,又恰巧与adb端口冲突占用掉了。

在 Windows 11 中查找某个端口下的进程,可以在命令提示符窗口中,输入命令 “netstat -ano | findstr < 端口号>”,其中 “< 端口号 >” 替换为你要查找的实际端口号。

例如,要查找 8080 端口对应的进程,命令就是 “netstat -ano | findstr 8080”。
执行命令后,会显示使用该端口的网络连接信息,其中 “PID” 列对应的数字就是使用该端口的进程 ID。
netstat -ano | findstr < 端口号>

修改adb端口是最快最有效的解决方法:

新建一个环境变量,

  • 变量名为:  ANDROID_ADB_SERVER_PORT 。
  • 变量值: 可以给自己设定一个数值,主要是为了不要和其他的程序端口冲突,建议10000——60000 之间,随便找一个数值。

新建好环境变量,一路保存返回。

重新启动ADB就可以了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WEB攻防-第60天:PHP反序列化POP链构造魔术方法流程漏洞触发条件属性修改

目录 一、序列化与反序列化基础 1.1 什么是序列化与反序列化 二、魔术方法的生命周期 2.1 常见的魔术方法 2.2 模式方法的生命周期触发调用 2.2.1 __construct() 2.2.2 __destruct() 2.2.3 __sleep() 2.2.4 __wakeup() 2.2.5 __invoke() 2.2.6 __toS…

SQLMesh系列教程-2:SQLMesh入门项目实战(下篇)

上篇我介绍了环境搭建、duckdb数据准备、sqlmesh数据模型、plan命令运行。本文继续介绍审计、测试、生成血缘关系以及python模型等。 有两种方法可以在SQLMesh中创建宏。一种方法是使用Python&#xff0c;另一种方法是使用Jinja。这里我们创建Python宏。让我们构建简单的Python…

自主项目面试点总结

1、许苑–OJ判题系统 技术栈&#xff1a;Spring BootSpring Cloud AlibabaRedisMybatisMQDocker 项目地址: https://github.com/xuyuan-upward/xyoj-backend-microservice 1.1、项目介绍: 一个基于微服务的OJ系统&#xff0c;具备能够根据管理员预设的题目用例对用户提交的代…

Macbook Pro快速搭建Easysearch学习环境

在学习过程中&#xff0c;我们有时身边没有可用的服务器&#xff0c;这时就需要借助自己的 Mac 来安装和学习 Easysearch。然而&#xff0c;Easysearch 官网并未提供 Mac 版本的安装教程&#xff0c;下面我将详细整理我在 Mac 上安装和使用 Easysearch 的折腾经历。 Easysearc…

Arduino 第十三章:红外接收

Arduino 第十三章&#xff1a;红外接收 一、红外接收概述 红外接收在日常生活和电子制作中十分常见&#xff0c;像电视、空调等家电的遥控器就是利用红外信号来实现远程控制的。在 Arduino 项目里&#xff0c;借助红外接收模块能够让设备接收红外信号&#xff0c;进而实现诸如…

朝天椒USB服务器:解决加密狗远程连接

本文探讨朝天椒USB服务器用Usb Over Network技术&#xff0c;解决加密狗在虚拟机、云主机甚至异地的远程连接问题。 在企业数字化转型的浪潮中&#xff0c;加密狗作为防止软件盗版的重要手段&#xff0c;广泛应用于各类软件授权场景。然而&#xff0c;随着企业超融合进程不断加…

第二篇:电压与电流的“锡安之战”——电路定律在800V高压平台中的应用

——基尔霍夫与戴维南如何破解新能源汽车的“高压密码” 核心隐喻&#xff1a;电路定律的“数字起义” 在《黑客帝国》中&#xff0c;锡安的反抗军通过破解母体协议实现逆袭。而在新能源汽车的800V高压平台中&#xff0c; 基尔霍夫定律 和 戴维南定理 正是工程师手中的“通…

【牛客】动态规划专题一:斐波那契数列

文章目录 DP1 斐波那契数列法1&#xff1a;递归法2&#xff1a;动态规划法3&#xff1a;优化空间复杂度 2.分割连接字符串3. 给定一个字符串s和一组单词dict&#xff0c;在s中添加空格将s变成一个句子 DP1 斐波那契数列 法1&#xff1a;递归 // 递归 #include <iostream>…

innovus如何分步长func和dft时钟

在Innovus工具中&#xff0c;分步处理功能时钟&#xff08;func clock&#xff09;和DFT时钟&#xff08;如扫描测试时钟&#xff09;需要结合设计模式&#xff08;Function Mode和DFT Mode&#xff09;进行约束定义、时钟树综合&#xff08;CTS&#xff09;和时序分析。跟随分…

5-R循环

R 循环 ​ 有的时候&#xff0c;我们可能需要多次执行同一块代码。一般情况下&#xff0c;语句是按顺序执行的&#xff1a;函数中的第一个语句先执行&#xff0c;接着是第二个语句&#xff0c;依此类推。 编程语言提供了更为复杂执行路径的多种控制结构。 循环语句允许我们多…

DeepSeek AI R1推理大模型API集成文档

DeepSeek AI R1推理大模型API集成文档 引言 随着自然语言处理技术的飞速发展&#xff0c;大语言模型在各行各业的应用日益广泛。DeepSeek R1作为一款高性能、开源的大语言模型&#xff0c;凭借其强大的文本生成能力、高效的推理性能和灵活的接口设计&#xff0c;吸引了大量开发…

知识图谱_protege的安装

目录 1.下载protege 2.安装可视化工具Graphviz 3.配置 参考【知识图谱】3.Protege下载安装-CSDN博客 1.下载protege 我在官网下载不了所以我就没有在官网下载 项目首页 - Protege-5.5.0Windows版本快速下载指南:Protege是一个广受欢迎的、强大的知识建模工具&#xff0c;用…

从BERT到ChatGPT:大模型训练中的存储系统挑战与技术发展——论文泛读

计算机研究与发展 2024 Paper 论文阅读笔记整理 问题 以ChatGPT为代表的大模型在文字生成、语义理解等任务上表现卓越&#xff0c;但大模型的参数量在3年内增长数万倍&#xff0c;且仍呈现增长的趋势。大模型训练面临存储挑战&#xff0c;存储需求大&#xff0c;且具有独特的…

船舶维保管理系统

一、项目介绍 381.基于SpringBoot的船舶维保管理系统&#xff0c;系统包含四种角色&#xff1a;管理员、船家、维保人员、维保公司,系统分为前台和后台两大模块&#xff0c;主要功能如下。 船家&#xff1a; - 个人中心&#xff1a;管理个人信息。 - 公告管理&#xff1a;查看…

【详细版】DETR系列之Deformable DETR(2021 ICLR)

论文标题Deformable DETR: Deformable Transformers for End-to-End Object Detection论文作者Xizhou Zhu, Weijie Su, Lewei Lu, Bin Li, Xiaogang Wang, Jifeng Dai发表日期2021年03月01日GB引用> Xizhou Zhu, Weijie Su, Lewei Lu, et al. Deformable DETR: Deformable T…

从云原生到 AI 原生,谈谈我经历的网关发展历程和趋势

作者&#xff1a;谢吉宝&#xff08;唐三&#xff09; 编者按&#xff1a; 云原生 API 网关系列教程即将推出&#xff0c;欢迎文末查看教程内容。本文整理自阿里云智能集团资深技术专家&#xff0c;云原生产品线中间件负责人谢吉宝&#xff08;唐三&#xff09; 在云栖大会的精…

基于机器学习时序库pmdarima实现时序预测

目录 一、Pmdarima实现单变量序列预测1.1 核心功能与特性1.2 技术优势对比1.3 python案例1.3.1 时间序列交叉验证1.3.1.1 滚动交叉验证1.3.1.2 滑窗交叉验证 时间序列相关参考文章&#xff1a; 时间序列预测算法—ARIMA 基于VARMAX模型的多变量时序数据预测 基于机器学习时序库…

【文本处理】如何在批量WORD和txt文本提取手机号码,固话号码,提取邮箱,删除中文,删除英文,提取车牌号等等一些文本提取固定格式的操作,基于WPF的解决方案

企业的应用场景 数据清洗&#xff1a;在进行数据导入或分析之前&#xff0c;往往需要对大量文本数据进行预处理&#xff0c;比如去除文本中的无关字符&#xff08;中文、英文&#xff09;&#xff0c;只保留需要的联系信息&#xff08;手机号码、固话号码、邮箱&#xff09;。…

小游戏源码开发之可跨app软件对接是如何设计和开发的

专业小游戏开发的团队往往会面临跨领域和不同平台客户需要追加同一款游戏的需求&#xff0c;所以就要设计和开发一款可任意对接不同 App 软件的小游戏&#xff0c;那么针对这类需求小游戏开发团队早已有了成熟的解决方案&#xff0c;针对设计和开发可跨平台游戏对接大概流程简单…

C# Winform 使用委托实现C++中回调函数的功能

C# Winform 使用委托实现C中回调函数的功能 在项目中遇到了使用C#调用C封装的接口&#xff0c;其中C接口有一个回调函数的参数。参考对比后&#xff0c;在C#中是使用委托(delegate)来实现类似的功能。 下面使用一个示例来介绍具体的使用方式&#xff1a; 第一步&#xff1a;…