ADB与Fastboot:修订间差异

来自Uotan Wiki · 刷机百科
(增加了启动进入Fastboot)
 
(未显示1个用户的6个中间版本)
第1行: 第1行:
== Android 调试桥 (ADB)<ref>[https://source.android.google.cn/docs/setup/build/adb?hl=zh-cn Android 调试桥 (ADB)  |  Android 开源项目  |  Android Open Source Project (google.cn)]</ref> ==
== Android 调试桥 (ADB)<ref>[https://source.android.google.cn/docs/setup/build/adb?hl=zh-cn Android 调试桥 (ADB)  |  Android 开源项目  |  Android Open Source Project (google.cn)]</ref> ==
Android 调试桥 (<code>adb</code>) 是一种功能多样的命令行工具,可让您与设备进行通信。<code>adb</code> 命令可用于执行各种设备操作,例如安装和调试应用。<code>adb</code> 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:
Android 调试桥 (<code>adb</code>) 是<mark>一种功能多样的命令行工具</mark>,可让您与设备进行通信。<code>adb</code> 命令可用于<mark>执行各种设备操作</mark>,例如<mark>安装和调试应用</mark>。<code>adb</code> 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:


* '''客户端''':用于发送命令。客户端在开发机器上运行。您可以通过发出 <code>adb</code> 命令从命令行终端调用客户端。
* '''客户端''':用于发送命令。客户端在开发机器上运行。您可以通过发出 <code>adb</code> 命令从命令行终端调用客户端。
* '''守护程序 (adbd)''':用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
* '''守护程序 (adbd)''':用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
* '''服务器''':用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。
* '''服务器''':用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。
=== adb 的工作原理 ===
当您启动某个 <code>adb</code> 客户端时,该客户端会先检查是否有 <code>adb</code> 服务器进程已在运行。如果没有,它会启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 <code>adb</code> 客户端发出的命令。
  '''注意''':所有 <code>adb</code> 客户端均使用端口 5037 与 <code>adb</code> 服务器通信。
  '''注意''':所有 <code>adb</code> 客户端均使用端口 5037 与 <code>adb</code> 服务器通信。
然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 <code>adb</code> 守护程序 (adbd),便会与相应的端口建立连接。
[[文件:USB调试在开发者选项中的位置.jpg|替代=USB 调试在开发者选项中的位置|缩略图|408x408像素|USB 调试在开发者选项中的位置]]
 
每个模拟器都使用一对按顺序排列的端口:一个用于控制台连接的偶数号端口,另一个用于 <code>adb</code> 连接的奇数号端口。例如:
 
模拟器 1,控制台:5554
 
模拟器 1,<code>adb</code>:5555
 
模拟器 2,控制台:5556
 
模拟器 2,<code>adb</code>:5557
 
依此类推。
 
如上所示,在端口 5555 处与 <code>adb</code> 连接的模拟器与控制台监听端口为 5554 的模拟器是同一个。
 
服务器与所有设备均建立连接后,您便可以使用 <code>adb</code> 命令访问这些设备。由于服务器管理与设备的连接,并处理来自多个 <code>adb</code> 客户端的命令,因此您可以从任意客户端或从某个脚本控制任意设备。


=== 在设备上启用 ADB 调试 ===
=== 在设备上启用 ADB 调试 ===
如要在通过 USB 连接的设备上使用 adb,您必须在设备的系统设置中启用 '''USB 调试'''(位于'''开发者选项'''下)。在 Android 4.2(API 级别 17)及更高版本中,'''开发者选项'''屏幕默认处于隐藏状态。如需将其显示出来,请启用开发者选项。
如要在通过 USB 连接的设备上使用 adb,您必须在设备的系统设置中启用 '''USB 调试'''(位于'''开发者选项'''下)。在 Android 4.2(API 级别 17)及更高版本中,'''开发者选项'''屏幕默认处于隐藏状态。如需将其显示出来,请'''启用开发者选项'''。


现在,您已经可以通过 USB 连接设备了。您可以通过安卓SDK平台工具执行 <code>adb devices</code> 来验证设备是否已连接。如果已连接,您将看到设备名称以“设备”形式列出。
现在,您已经可以通过 USB 连接设备了。您可以通过安卓SDK平台工具执行 <code>adb devices</code> 来验证设备是否已连接。如果已连接,您将看到设备名称以“设备”形式列出。
'''注意''':当您连接搭载 Android 4.2.2(API 级别 17)或更高版本的设备时,系统会显示一个对话框,询问您是否接受允许通过此计算机进行调试的 RSA 密钥。这种安全机制可以保护用户设备,因为它可以确保用户只有在能够解锁设备并确认对话框的情况下才能执行 USB 调试和其他 adb 命令。


== 启动进入 Fastboot 模式<ref>[https://source.android.google.cn/source/running?hl=zh-CN#booting-into-fastboot-mode 运行版本  |  Android 开源项目  |  Android Open Source Project (google.cn)]</ref> ==
=== 启用开发者选项<ref>[https://developer.android.google.cn/studio/debug/dev-options?hl=zh-cn#enable 配置设备上的开发者选项  |  Android Studio  |  Android Developers (google.cn)]</ref> ===
<code>Fastboot</code> 是一种引导加载程序模式,您可以在该模式下刷写设备。在设备冷启动过程中,可使用以下组合键进入 <code>fastboot</code> 模式:
在 Android 4.1 及更低版本上,'''开发者选项'''界面在默认情况下处于启用状态。在 Android 4.2 及更高版本上,您必须启用此界面。
 
{| class="wikitable sortable mw-collapsible"
=== 谷歌 ===
{| class="wikitable"
!设备
!设备
!代号
!设置
!组合键
|-
|-
|Pixel XL
|小米
|marlin
|Xiaomi HyperOS:设置>我的设备>全部参数与信息
|按住音量调低键,然后按住电源键。
MIUI:转到设置>我的设备>全部参数
|-
|-
|Pixel
|Google Pixel
|sailfish
|设置 > 关于手机 > build 号
|按住音量调低键,然后按住电源键。
|-
|-
|hikey
|Samsung Galaxy S8 及更高版本
|hikey
|设置 > 关于手机 > 软件信息 > 版本号
|连接 J15 的引脚 1 - 2 和 5 - 6。
|-
|-
|Nexus 6P
|LG G6 及更高版本
|angler
|设置 > 关于手机 > 软件信息 > 版本号
|按住音量调低键,然后按住电源键。
|-
|-
|Nexus 5X
|HTC U11 及更高版本
|bullhead
|设置 > 关于 > 软件信息 > 更多 > 版本号 或 设置 > 系统 > 关于手机 > 软件信息 > 更多 > 版本号
|按住音量调低键,然后按住电源键。
|-
|-
|Nexus 6
|一加 5T 及更高版本
|shamu
|设置 > 关于手机 > build 号
|按住音量调低键,然后按住电源键。
|}
|-
 
|Nexus Player
# 连续点按'''版本号'''选项七次,直到您看到消息“<code>您现在处于开发者模式!</code>”。此操作会在您手机上启用开发者选项。
|fugu
# 返回设置主界面,在底部可以找到'''开发者选项'''。 
|按住电源键。
'''例外''' 
|-
 
|Nexus 9
小米:设置>更多设置>开发者选项
|volantis
 
|按住音量调低键,然后按住电源键。
== 启动进入 Fastboot 模式<ref>[https://source.android.google.cn/source/running?hl=zh-CN#booting-into-fastboot-mode 运行版本  |  Android 开源项目  |  Android Open Source Project (google.cn)]</ref> ==
|-
<code>Fastboot</code> 是一种引导加载程序模式,您可以在该模式下刷写设备。在设备<mark>'''冷启动'''</mark>过程中,可使用以下组合键进入 <code>fastboot</code> 模式:
|Nexus 5
{| class="wikitable sortable mw-collapsible"
|hammerhead
!设备
|同时按住音量调高键和音量调低键,然后按住电源键。
!组合键
|-
|Nexus 7
|flo
|按住音量调低键,然后按住电源键。
|-
|Nexus 7 3G
|deb
|按住音量调低键,然后按住电源键。
|-
|Nexus 10
|manta
|同时按住音量调高键和音量调低键,然后按住电源键。
|-
|Nexus 4
|mako
|按住音量调低键,然后按住电源键。
|-
|Nexus 7 (2012)
|grouper
|按住音量调低键,然后按住电源键。
|-
|Nexus 7 3G (2012)
|tilapia
|按住音量调低键,然后按住电源键。
|-
|-
|Nexus Q
|谷歌
|phantasm
|[https://source.android.google.cn/source/running?hl=zh-CN#booting-into-fastboot-mode 运行版本  |  [https://source.android.google.cn/source/running?hl=zh-CN#booting-into-fastboot-mode Android 开源项目  |  Android Open Source Project (google.cn)]
|启动设备,LED 指示灯亮起后用一只手盖住设备,直至指示灯变成红色。
|-
|-
|Galaxy Nexus GSM
|通用
|maguro
|按住音量调低键,然后按住电源键。 或 同时按住音量调高键和音量调低键,然后按住电源键。
|同时按住音量调高键和音量调低键,然后按住电源键。
|-
|Galaxy Nexus (Verizon)
|toro
|同时按住音量调高键和音量调低键,然后按住电源键。
|-
|Galaxy Nexus (Sprint)
|toroplus
|同时按住音量调高键和音量调低键,然后按住电源键。
|-
|Motorola Xoom
|wingray
|按住音量调低键,然后按住电源键。
|-
|Nexus S
|crespo
|按住音量调高键,然后按住电源键。
|-
|Nexus SG
|crespo4g
|按住音量调高键,然后按住电源键。
|}
|}
您还可以使用命令 <code>adb reboot bootloader</code> 直接在 Android 系统中重新启动进入引导加载程序,而无需使用任何组合键。
您还可以使用命令 <code>adb reboot bootloader</code> 直接在 Android 系统中重新启动进入引导加载程序,而无需使用任何组合键。
注:部分设备使用 adb 命令方法,从系统或REC中使用其自身提供的重启时搭配组合键可能会导致无法进入 Fastboot 模式。
普通机型一般情况下使用通用设备的前一种办法。后者'''可能会导致设备进入深度刷机模式'''。
[[文件:Fastboot.jpg|居中|缩略图|568x568像素|几种常见的Fastboot界面]]


== 配置安卓 SDK 平台工具(Platform-Tools SDK) ==
== 配置安卓 SDK 平台工具(Android SDK Platform-Tools) ==
  <code>adb</code>和<code>fastboot</code>包含在安卓SDK平台工具软件包中。'''如果想在命令行终端使用ADB和Fastboot工具,则需要在操作系统中配置安卓SDK平台工具。'''
  <code>adb</code>和<code>fastboot</code>包含在安卓SDK平台工具软件包中。'''
如果想在命令行终端使用ADB和Fastboot工具,则<mark>需要在操作系统中配置安卓SDK平台工具。</mark>'''


=== Windows 平台(Windows 7 以上) ===
=== Windows 平台(Windows 7 以上) ===
[[文件:Android SDK Platform-Tools content.png|缩略图|290x290px|适用于 Windows 的安卓 SDK 平台工具内容]]
[[文件:Android SDK Platform-Tools content.png|缩略图|290x290px|适用于 Windows 的安卓 SDK 平台工具内容]]
==== 1、下载 Platform-Tools SDK ====
 
==== 1、下载安卓 SDK 平台工具 ====
访问[https://developer.android.google.cn/studio/releases/platform-tools?hl=zh-cn 安卓 SDK 平台工具页面],选择<u>下载适用于 Windows 的 SDK Platform-Tools</u> ,阅读并同意条款及条件后点击下载。
访问[https://developer.android.google.cn/studio/releases/platform-tools?hl=zh-cn 安卓 SDK 平台工具页面],选择<u>下载适用于 Windows 的 SDK Platform-Tools</u> ,阅读并同意条款及条件后点击下载。


第142行: 第76行:


==== 2、配置环境变量 ====
==== 2、配置环境变量 ====
  临时使用(不配置环境变量):使用“'''Win+R'''”打开“'''运行'''”窗口,输入“<code>CMD</code>”,在弹出的命令提示符中键入“<code>cd [platform-tools文件夹的路径]</code>”,回车。
  临时使用(不配置环境变量):
1.使用“'''Win+R'''”打开“'''运行'''”窗口,输入“<code>CMD</code>”,点击确定
2.在弹出的命令提示符中键入“<code>cd [platform-tools文件夹的路径]</code>”,回车。
# '''打开高级系统设置:'''使用“'''Win+R'''”打开“'''运行'''”窗口,输入“<code>SYSDM.CPL</code>”,然后点击确定。
# '''打开高级系统设置:'''使用“'''Win+R'''”打开“'''运行'''”窗口,输入“<code>SYSDM.CPL</code>”,然后点击确定。
# 转到“'''高级'''”选项卡,点击“'''环境变量...'''”。
# 转到“'''高级'''”选项卡,点击“'''环境变量...'''”。
第150行: 第86行:
# 点击“'''确定'''”。
# 点击“'''确定'''”。
[[文件:配置环境变量示意图.png|居中|无框|1039x1039像素|配置环境变量示意图]]
[[文件:配置环境变量示意图.png|居中|无框|1039x1039像素|配置环境变量示意图]]
===== 测试 Platform-Tools =====
 
===== 测试安卓 SDK 平台工具 =====


[[文件:ADB的命令提示符输出.png|替代=ADB的命令提示符输出|缩略图|335x335像素|ADB 的命令提示符输出]]
[[文件:ADB的命令提示符输出.png|替代=ADB的命令提示符输出|缩略图|335x335像素|ADB 的命令提示符输出]]
第156行: 第93行:
# 使用“'''Win+R'''”打开“'''运行'''”窗口,输入“<code>CMD</code>”。
# 使用“'''Win+R'''”打开“'''运行'''”窗口,输入“<code>CMD</code>”。
# 在弹出的命令提示符中键入“<code>ADB</code>”并回车。
# 在弹出的命令提示符中键入“<code>ADB</code>”并回车。
如果一切正常,命令提示符应当输出类似[[:文件:ADB的命令提示符输出.png|以下的信息]](输出信息显示了当前 ADB 工具、安卓 SDK 平台工具、Windows 的版本信息,adb.exe 的路径及 ADB 的命令语法等)。
如果一切正常,命令提示符应当输出[[:文件:ADB的命令提示符输出.png|如图的信息]]
 
(输出信息显示了当前 ADB 工具、安卓 SDK 平台工具、Windows 的版本信息,adb.exe 的路径及 ADB 的命令语法等)


== USB 驱动程序 ==
== USB 驱动程序 ==

2024年8月16日 (五) 16:29的最新版本

Android 调试桥 (ADB)[1]

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作,例如安装和调试应用adb 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

  • 客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
  • 守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
  • 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。
注意:所有 adb 客户端均使用端口 5037 与 adb 服务器通信。
USB 调试在开发者选项中的位置
USB 调试在开发者选项中的位置

在设备上启用 ADB 调试

如要在通过 USB 连接的设备上使用 adb,您必须在设备的系统设置中启用 USB 调试(位于开发者选项下)。在 Android 4.2(API 级别 17)及更高版本中,开发者选项屏幕默认处于隐藏状态。如需将其显示出来,请启用开发者选项

现在,您已经可以通过 USB 连接设备了。您可以通过安卓SDK平台工具执行 adb devices 来验证设备是否已连接。如果已连接,您将看到设备名称以“设备”形式列出。

注意:当您连接搭载 Android 4.2.2(API 级别 17)或更高版本的设备时,系统会显示一个对话框,询问您是否接受允许通过此计算机进行调试的 RSA 密钥。这种安全机制可以保护用户设备,因为它可以确保用户只有在能够解锁设备并确认对话框的情况下才能执行 USB 调试和其他 adb 命令。

启用开发者选项[2]

在 Android 4.1 及更低版本上,开发者选项界面在默认情况下处于启用状态。在 Android 4.2 及更高版本上,您必须启用此界面。

设备 设置
小米 Xiaomi HyperOS:设置>我的设备>全部参数与信息

MIUI:转到设置>我的设备>全部参数

Google Pixel 设置 > 关于手机 > build 号
Samsung Galaxy S8 及更高版本 设置 > 关于手机 > 软件信息 > 版本号
LG G6 及更高版本 设置 > 关于手机 > 软件信息 > 版本号
HTC U11 及更高版本 设置 > 关于 > 软件信息 > 更多 > 版本号 或 设置 > 系统 > 关于手机 > 软件信息 > 更多 > 版本号
一加 5T 及更高版本 设置 > 关于手机 > build 号
  1. 连续点按版本号选项七次,直到您看到消息“您现在处于开发者模式!”。此操作会在您手机上启用开发者选项。
  2. 返回设置主界面,在底部可以找到开发者选项

例外

小米:设置>更多设置>开发者选项

启动进入 Fastboot 模式[3]

Fastboot 是一种引导加载程序模式,您可以在该模式下刷写设备。在设备冷启动过程中,可使用以下组合键进入 fastboot 模式:

设备 组合键
谷歌   Android 开源项目  |  Android Open Source Project (google.cn)
通用 按住音量调低键,然后按住电源键。 或 同时按住音量调高键和音量调低键,然后按住电源键。

您还可以使用命令 adb reboot bootloader 直接在 Android 系统中重新启动进入引导加载程序,而无需使用任何组合键。

注:部分设备使用 adb 命令方法,从系统或REC中使用其自身提供的重启时搭配组合键可能会导致无法进入 Fastboot 模式。
普通机型一般情况下使用通用设备的前一种办法。后者可能会导致设备进入深度刷机模式
几种常见的Fastboot界面

配置安卓 SDK 平台工具(Android SDK Platform-Tools)

adbfastboot包含在安卓SDK平台工具软件包中。
如果想在命令行终端使用ADB和Fastboot工具,则需要在操作系统中配置安卓SDK平台工具。

Windows 平台(Windows 7 以上)

适用于 Windows 的安卓 SDK 平台工具内容

1、下载安卓 SDK 平台工具

访问安卓 SDK 平台工具页面,选择下载适用于 Windows 的 SDK Platform-Tools ,阅读并同意条款及条件后点击下载。

下载完成后,解压压缩包中的 platform-tools 文件夹到一个方便寻找的目录(如 C 盘根目录)。记住这个目录的路径

2、配置环境变量

临时使用(不配置环境变量):
1.使用“Win+R”打开“运行”窗口,输入“CMD”,点击确定
2.在弹出的命令提示符中键入“cd [platform-tools文件夹的路径]”,回车。
  1. 打开高级系统设置:使用“Win+R”打开“运行”窗口,输入“SYSDM.CPL”,然后点击确定。
  2. 转到“高级”选项卡,点击“环境变量...”。
  3. 在“系统变量”一栏中选中变量“Path”,点击“编辑...”。
  4. 在弹出的“编辑环境变量”窗口中点击右侧的“新建”按钮。
  5. 在新一栏中填入 platform-tools 文件夹的路径。
  6. 点击“确定”。
配置环境变量示意图
配置环境变量示意图
测试安卓 SDK 平台工具
ADB的命令提示符输出
ADB 的命令提示符输出
  1. 使用“Win+R”打开“运行”窗口,输入“CMD”。
  2. 在弹出的命令提示符中键入“ADB”并回车。

如果一切正常,命令提示符应当输出如图的信息

(输出信息显示了当前 ADB 工具、安卓 SDK 平台工具、Windows 的版本信息,adb.exe 的路径及 ADB 的命令语法等)

USB 驱动程序

获取谷歌 USB 驱动程序[4]

注意:如果您使用的是 macOS 或 Linux 平台,则无需安装 USB 驱动程序。

访问 Get the Google USB Driver 页面,选择 Download the Google USB Driver ZIP file (ZIP). ,阅读并同意条款及条件后点击下载。

获取 OEM 驱动程序[5]

厂商 驱动 URL
宏碁(Acer) 上海:消费类客户服务支持|商用大客户服务支持|掠夺者部落服务支持|ConceptD 服务支持

国际:https://www.acer.com/worldwide/support/

阿尔卡特(Alcatel Mobile) https://www.alcatelmobile.com/support/
华硕(Asus) 中国:下载中心 | 官方支持 | ASUS 中国

国际:https://www.asus.com/support/Download-Center/

黑莓(Blackberry) https://swdownloads.blackberry.com/Downloads/entry.do?code=4EE0932F46276313B51570F46266A608
戴尔(Dell) https://support.dell.com/support/downloads/index.aspx?c=us&cs=19&l=en&s=dhs&~ck=anavml
FCNT https://www.fcnt.com/support/develop/#anc-03
HTC https://www.htc.com/support
华为(Huawei) 中国:服务与支持-华为官方售后服务 | 华为官网 (huawei.com)

英语:https://consumer.huawei.com/en/support/index.htm

英特尔(Intel) https://www.intel.com/software/android
京瓷(Kyocera) https://kyoceramobile.com/support/drivers/
联想(Lenovo) 简体中文(中国大陆):Lenovo联想售后客户服务中心,提供驱动下载,配置查询,保修服务-联想服务

英语(美国):https://support.lenovo.com/us/en/GlobalProductSelector

乐金(LGE) 中国:软件和固件 | LG 中国

英语(美国):https://www.lg.com/us/support/software-firmware

摩托罗拉(Motorola) 简体中文(中国大陆):Lenovo联想售后客户服务中心,提供驱动下载,配置查询,保修服务-联想服务

美国:https://motorola-global-portal.custhelp.com/app/answers/detail/a_id/88481

联发科技(MTK) http://online.mediatek.com/Public%20Documents/MTK_Android_USB_Driver.zip
三星(Samsung) https://developer.samsung.com/galaxy/others/android-usb-driver-for-windows
夏普(Sharp) http://k-tai.sharp.co.jp/support/
索尼(Sony) 中国:SONY China Service-下载中心

国际:https://developer.sonymobile.com/downloads/drivers/

东芝(Toshiba) https://support.toshiba.com/sscontent?docId=4001814
小米(Xiaomi) https://web.vip.miui.com/page/info/mio/mio/detail?postId=18464849&app_version=dev.20051
中兴(ZTE) http://support.zte.com.cn/support/news/NewsDetail.aspx?newsId=1000442

参考文献