Android 调试桥 () 是一种功能多样的命令行工具,可让您与设备进行通信。 命令可用于执行各种设备操作,例如安装和调试应用。 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:
- 客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 命令从命令行终端调用客户端。
- 守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
- 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。
包含在 Android SDK 平台工具软件包中。您可以使用 SDK 管理器下载此软件包,该管理器会将其安装在 下。如果您需要独立的 Android SDK 平台工具软件包,请点击此处进行下载。
如需了解如何通过 连接设备以供使用,包括如何使用 Connection Assistant 来排查常见问题,请参阅在硬件设备上运行应用。
当您启动某个 客户端时,该客户端会先检查是否有 服务器进程已在运行。如果没有,它会启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 客户端发出的命令。
然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 守护程序 (adbd),便会与相应的端口建立连接。
每个模拟器都使用一对按顺序排列的端口:一个用于控制台连接的偶数号端口,另一个用于 连接的奇数号端口。例如:
模拟器 1,控制台:5554
模拟器 1,:5555
模拟器 2,控制台:5556
模拟器 2,:5557
依此类推。
如上所示,在端口 5555 处与 连接的模拟器与控制台监听端口为 5554 的模拟器是同一个。
服务器与所有设备均建立连接后,您便可以使用 命令访问这些设备。由于服务器管理与设备的连接,并处理来自多个 客户端的命令,因此您可以从任意客户端或从某个脚本控制任意设备。
如要在通过 USB 连接的设备上使用 adb,您必须在设备的系统设置中启用 USB 调试(位于开发者选项下)。在 Android 4.2(API 级别 17)及更高版本中,开发者选项屏幕默认处于隐藏状态。如需将其显示出来,请启用开发者选项。
现在,您已经可以通过 USB 连接设备了。您可以通过从 目录执行 来验证设备是否已连接。如果已连接,您将看到设备名称以“设备”形式列出。
如需详细了解如何通过 USB 连接到设备,请参阅在硬件设备上运行应用。
Android 11(API 级别 30)及更高版本支持使用 Android 调试桥 (adb) 从工作站以无线方式部署和调试应用。例如,您可以将可调试对象部署到 将应用连接到多台远程设备,而无需通过 USB。这样就无需处理常见的 USB 连接问题,例如驱动程序 安装。
在开始使用无线调试功能之前,请执行以下操作:
- 确保您的工作站和设备已连接到同一无线网络。
- 确保您的设备搭载的是 Android 11(API 级别 30)或更高版本(针对手机),或者 Android 13(API 级别 33)或更高版本(针对 TV 和 WearOS)。如需了解详情,请参阅查看并更新 Android 版本。
- 如果使用 IDE,请确保您已安装最新版本的 Android Studio。您可以在此处下载。
- 在您的工作站上,将 SDK 平台工具更新到最新版本。
如需使用无线调试功能,您必须使用二维码或配对码将设备与工作站配对。您的工作站和设备必须连接到同一无线网络。如需连接到您的设备,请按以下步骤操作:
- 在您的设备上启用开发者选项。
- 打开 Android Studio,然后从运行配置菜单中选择 Pair Devices Using Wi-Fi。
系统会弹出 Pair devices over Wi-Fi 窗口,如图 2 所示。
- 在您的设备上,点按无线调试,然后配对您的设备:
- 如需使用二维码配对设备,请选择使用二维码配对设备,然后扫描 Pair devices over Wi-Fi 弹出式窗口中提供的二维码(如图 2 所示)。
- 如需使用配对码配对设备,请从 Pair devices over Wi-Fi 弹出式窗口中选择 Pair device with pairing code。在您的设备上,选择使用配对码配对设备,并记下提供的 6 位数配对码。设备显示在 Pair devices over Wi-Fi 窗口中后,您可以选择 Pair,并输入设备上显示的 6 位数配对码。
- 配对设备后,您可以尝试将应用部署到该设备。
如需与其他设备配对,或在工作站上取消保存当前设备,请在设备上进入无线调试部分,在已配对的设备下点按工作站名称,然后选择取消保存。
- 如果您想快速开启和关闭无线调试功能,可以利用快捷设置开发者图块进行无线调试(可在开发者选项 > 快捷设置开发者图块中找到)。
另外,如果您想在不使用 Android Studio 的情况下,通过命令行连接到您的设备,请按以下步骤操作:
- 如前所述,在设备上启用开发者选项。
- 如前所述,在设备上启用无线调试。
- 在工作站上,打开终端窗口并前往 。
- 选择 Pair device with pairing code,找到您的 IP 地址、端口号和配对码。记下设备上显示的 IP 地址、端口号和配对码。
- 在工作站的终端上,运行 。请使用上述 IP 地址和端口号。
- 收到提示时,输入配对码,如下所示。
如果您通过无线方式连接到设备时遇到问题,不妨尝试通过以下问题排查步骤来解决问题。
检查您的工作站和设备是否满足前提条件
检查工作站和设备是否满足本部分开头列出的前提条件。
检查是否存在其他已知问题
下面列出了无线调试(使用 adb 或 Android)的当前已知问题 Studio)以及如何解决这些问题:
- 无法连接到 Wi-Fi:安全的 Wi-Fi 网络,例如企业 Wi-Fi 网络 可能会阻止点对点连接,并且不允许您通过 Wi-Fi 进行连接。请尝试使用数据线或 另一个(非公司)Wi-Fi 网络。使用 另一种方法是通过 tcp/ip 使用 (遵循初始 USB 连接)。 则可以选择使用非公司网络。
- “通过 Wi-Fi 使用 ”的功能有时会自动关闭:如果设备切换 Wi-Fi 网络或断开网络连接,就可能会发生这种情况。如需解决此问题,请重新连接到网络。
- 配对成功后设备未连接: 依赖 mDNS 进行 发现并自动连接到已配对的设备。如果您的网络或设备 不支持 mDNS 或已将其停用,则您需要手动 使用 连接到设备。
一般情况下, 通过 USB 与设备进行通信,但您也可以通过 Wi-Fi 使用 。若要连接到搭载 Android 10(API 级别 29)或更低版本的设备,请通过 USB 执行以下初始步骤:
- 将 Android 设备和 主机连接到同一 Wi-Fi 网络。
- 使用 USB 线将设备连接到主机。
- 设置目标设备以监听端口 5555 上的 TCP/IP 连接:
- 拔掉连接目标设备的 USB 线。
- 找到 Android 设备的 IP 地址。例如,对于 Nexus 设备,您可以在设置 > 关于平板电脑(或关于手机)> 状态 > IP 地址下找到 IP 地址。
- 通过 IP 地址连接到设备:
- 确认主机已连接到目标设备:
您的设备现已连接到 。
如果与设备的 连接断开:
- 确保主机仍与 Android 设备连接到同一 Wi-Fi 网络。
- 通过再次执行 步骤重新连接。
- 如果这样无法解决问题,请重置您的 主机:
然后,从头开始操作。
在发出 命令之前,了解哪些设备实例已连接到 服务器会很有帮助。您可以使用以下 命令生成已连接设备的列表:
作为响应, 会针对每个设备输出以下状态信息:
- 序列号: 会创建一个字符串,用于通过端口号唯一标识设备。下面是一个序列号示例:
- 状态:设备的连接状态可以是以下几项之一:
- :设备未连接到 或没有响应。
- :设备已连接到 服务器。请注意,此状态并不表示 Android 系统已完全启动并可正常运行,因为在设备连接到 时系统仍在启动。系统完成启动后,设备通常处于此运行状态。
- :未连接任何设备。
- 说明:如果您加入 选项, 命令会告知您设备是什么。当您连接了多个设备时,此信息会很有用,方便您区分这些设备。
以下示例展示了 命令及其输出。有三个设备正在运行。列表中的前两行表示模拟器,第三行表示连接到计算机的硬件设备。
命令的极端命令序列会导致正在运行的模拟器不显示在 输出中(即使在您的桌面上可以看到该模拟器)。当满足以下所有条件时,就会发生这种情况:
- 服务器未在运行。
- 您在使用 命令时,将 或 选项的端口值设为 5554 到 5584 之间的奇数。
- 您选择的奇数号端口处于空闲状态,因此可以与指定端口号的端口建立连接,或者该端口处于忙碌状态,模拟器切换到了符合第 2 条中要求的另一个端口。
- 启动模拟器后才启动 服务器。
避免出现这种情况的一种方法是让模拟器自行选择端口,并且每次运行的模拟器数量不要超过 16 个。另一种方法是始终先启动 服务器,然后再使用 命令,如下例所示。
示例 1:在下面的命令序列中, 命令启动了 服务器,但是设备列表未显示。
停止 服务器,然后按照所示顺序输入以下命令。对于 AVD 名称,请提供系统中有效的 AVD 名称。如需获取 AVD 名称列表,请输入 。 命令位于 目录下。
示例 2:在下面的命令序列中, 显示了设备列表,因为先启动了 服务器。
如果想在 输出中看到模拟器,请停止 服务器,然后在使用 命令之后、使用 命令之前,重新启动该服务器,如下所示:
如需详细了解模拟器命令行选项,请参阅命令行启动选项。
如果有多个设备在运行,您必须指定目标设备 。 要指定目标,请按以下步骤操作:
- 使用 命令获取目标设备的序列号。
- 获得序列号后,结合使用 选项与 命令来指定序列号。
- 如果您要发出很多 命令,可以将 环境变量设为包含序列号。
- 如果您同时使用 和 , 会替换 。
在以下示例中,先获得了已连接设备的列表,然后使用其中一个设备的序列号在该设备上安装了 :
如果有多个可用设备,但只有一个是模拟器,请使用 选项将命令发送至该模拟器。如果有多个设备,但只连接了一个硬件设备,请使用 选项将命令发送至该硬件设备。
您可以使用 的 命令在模拟器或连接的设备上安装 APK:
安装测试 APK 时,必须在 命令中使用 选项。如需了解详情,请参阅 。
如需安装多个 APK,请使用 。如果您下载了所有 从 Play 管理中心为您的应用获取适用于特定设备的 APK,并且希望将这些 APK 安装到 模拟器或实体设备
若要详细了解如何创建可安装在模拟器/设备实例上的 APK 文件,请参阅构建和运行您的应用。
您可以使用 命令设置任意端口转发,将特定主机端口上的请求转发到设备上的其他端口。以下示例设置了主机端口 6100 到设备端口 7100 的转发:
以下示例设置了主机端口 6100 到 local:logd 的转发:
如果您尝试确定发送到设备上指定端口的内容,上述做法可能会非常有用。系统会将收到的所有数据写入系统日志记录守护程序,并显示在设备日志中。
您可以使用 和 命令将文件复制到设备或从设备复制文件。与 命令(仅将 APK 文件复制到特定位置)不同,使用 和 命令可将任意目录和文件复制到设备中的任何位置。
如需从设备中复制某个文件或目录(及其子目录),请使用以下命令:
如需将某个文件或目录(及其子目录)复制到设备,请使用以下命令:
将 和 替换为开发机器(本地)和设备(远程)上的目标文件/目录的路径。例如:
在某些情况下,您可能需要终止 服务器进程,然后重启才能解决问题。例如,如果 不响应命令,就可能会发生这种情况。
如需停止 服务器,请使用 命令。然后,您可以通过发出其他任何 命令来重启服务器。
您可以使用开发机器上的命令行或使用以下命令通过脚本发出 命令:
如果只有一个模拟器在运行或者只连接了一个设备,系统会默认将 命令发送至该设备。如果有多个模拟器正在运行并且/或者连接了多个设备,您需要使用 、 或 选项指定应向其发送命令的目标设备。
您可以使用以下命令来查看所有受支持 命令的详细列表:
您可以使用 命令通过 发出设备命令,也可以使用该命令启动交互式 shell。如需发出单个命令,请使用如下所示的 命令:
要在设备上启动交互式 shell,请使用如下所示的 命令:
如需退出交互式 shell,请按 或输入 。
Android 提供了大多数常见的 Unix 命令行工具。如需查看可用工具的列表,请使用以下命令:
对于大多数命令,都可通过 参数获得命令帮助。许多 shell 命令都由 提供。对于所有 toybox 命令,都可通过 获得适用的一般性帮助。
在 Android 平台工具 23 及更高版本中, 处理参数的方式与 命令相同。这项变更解决了很多方面的问题,同时让安全执行包含 shell 的命令(如 )成为可能。此外,这项变更还意味着,对包含 shell 元字符的所有命令的解释也发生了变化。
例如, 现在会返回错误,因为单引号 () 会被本地 shell 消去,设备看到的是 。如需使该命令正常运行,请引用两次,一次用于本地 shell,另一次用于远程 shell,与处理 的方法相同。例如 。
另请参阅 Logcat 命令行工具,该工具对监控系统日志很有用。
在 shell 中,您可以使用 activity 管理器 () 工具发出命令以执行各种系统操作,如启动 activity、强行停止进程、广播 intent、修改设备屏幕属性,等等。
在 shell 中,相应的 语法为:
您也可以直接从 发出 activity 管理器命令,无需进入远程 shell。例如:
请参阅 intent 参数的规范。
具体选项包括:
- :启用调试功能。
- :等待启动完成。
- :启动性能分析器并将结果发送至 。
- :类似于 ,但当应用进入空闲状态时剖析停止。
- :重复启动 activity 次。在每次重复前,将完成顶层 activity。
- :在启动 activity 前,强行停止目标应用。
- :启用 OpenGL 函数的跟踪。
- :指定要作为哪个用户运行;如果未指定,则作为当前用户运行。
请参阅 intent 参数的规范。
具体选项包括:
- :指定要作为哪个用户运行;如果未指定,则作为当前用户运行。
具体选项包括:
- :指定要终止哪个用户的进程。如果未指定,则终止所有用户的进程。
请参阅 intent 参数的规范。
具体选项包括:
- :指定要发送给哪个用户;如果未指定,则发送给所有用户。
具体选项包括:
- :输出原始结果(否则,对 进行解码)。与 结合使用可生成性能测量的原始输出。
- :将参数 设为 。 对于测试运行程序,通用格式为 。
- :将剖析数据写入 。
- :等待插桩完成后再返回。测试运行程序需要使用此选项。
- :运行时关闭窗口动画。
- :指定以哪个用户身份运行插桩。如果未指定,则以当前用户身份运行。
具体选项包括:
- :提供进程名称时,指定要转储的进程的用户。如果未指定,则使用当前用户。
- :从显存转储位图。 (可选)指定要转储的格式(默认为 PNG)。
- :转储原生堆,而非托管堆。
具体选项包括:
- :应用启动时等待调试程序。
- :保留此值。
具体选项包括:
- :在崩溃/ANR 时,在给定的端口上启动 。
请参阅 intent 参数的规范。
以 URI 的形式输出给定的 intent 规范。请参阅 intent 参数的规范。
intent 参数的规范
对于采用 参数的 activity 管理器命令,您可以使用以下选项指定 intent:
在 shell 中,您可以使用软件包管理器 () 工具发出命令,以对设备上安装的应用软件包执行操作和查询。
在 shell 中,相应的 语法为:
您也可以直接从 发出软件包管理器命令,无需进入远程 shell。例如:
具体选项:
- :查看关联文件。
- :进行过滤以仅显示已停用的软件包。
- :进行过滤以仅显示已启用的软件包。
- :进行过滤以仅显示系统软件包。
- :进行过滤以仅显示第三方软件包。
- :查看软件包的安装程序。
- :包括已卸载的软件包。
- :要查询的用户空间。
具体选项:
- :按组进行整理。
- :输出所有信息。
- :简短摘要。
- :仅列出危险权限。
- :仅列出用户将看到的权限。
具体选项:
- :列出测试软件包的 APK 文件。
- :仅列出此应用的测试软件包。
具体选项:
- :重新安装现有应用,并保留其数据。
- :允许安装测试 APK。仅当您运行或调试了应用或者使用了 Android Studio 的 Build > Build APK 命令时,Gradle 才会生成测试 APK。如果是使用开发者预览版 SDK 构建的 APK,那么安装测试 APK 时必须在 命令中包含 选项。
- :指定安装程序软件包名称。
- :使用以下某个值设置安装位置:
- :使用默认安装位置。
- :在设备内部存储空间中安装。
- :在外部介质上安装。
- :在内部系统内存上安装软件包。
- :允许版本代码降级。
- :授予应用清单中列出的所有权限。
- :通过仅更新已更改的 APK 部分来快速更新安装的软件包。
- :仅安装 APK 中启动应用所需的部分,同时在后台流式传输剩余数据。如要使用此功能,您必须为 APK 签名,创建一个 APK 签名方案 v4 文件,并将此文件放在 APK 所在的目录中。只有部分设备支持此功能。此选项会强制 使用该功能,如果该功能不受支持,则会失败,并提供有关失败原因的详细信息。附加 选项,可等到 APK 完全安装完毕后再授予对 APK 的访问权限。
可阻止 使用此功能。
具体选项:
- :移除软件包后保留数据和缓存目录。
- :指定要为哪位用户移除软件包。
- :仅在应用具有给定的版本代码时卸载。
具体选项:
- :要停用的用户。
- :自动 - 让系统决定最合适的位置。
- :内部 - 在设备内部存储空间中安装。
- :外部 - 在外部介质上安装。
- :让系统决定最合适的位置
- :在设备内部存储空间中安装
- :在外部介质上安装
输出给定 package 的域名验证状态,如果未指定软件包,则输出所有软件包的域名验证状态。状态代码的定义如下:
- :没有为此域名记录任何内容
- :域名已成功通过验证
- :强行批准了域名,通常是通过执行 shell 命令来实现的
- :强行拒绝了域名,通常是通过执行 shell 命令来实现的
- :从旧响应流程中保留的验证状态
- :从用户数据恢复流程中保留的验证状态
- :旧版验证程序拒绝了域名,原因未知
- :设备配置自动批准了域名
- :设备验证程序专属的自定义错误代码
具体选项包括:
- :包括用户选择。包含所有网域、 而不只是使用 autoVerify
重置给定软件包的域名验证状态,如果未指定任何软件包,则重置所有软件包的域名验证状态。
- :要重置的软件包,如果使用“all”,则重置所有软件包
具体选项包括:
- :包括用户选择。包含所有网域、 而不只是使用 autoVerify
广播给定 package 的域名验证请求,如果未指定软件包,则发送所有软件包的域名验证请求。仅当软件包之前未记录响应时发送该请求。
- :即使软件包已记录响应也发送
手动设置软件包的域名状态。仅当软件包将域名声明为 autoVerify 时,此命令才能正常运行。此命令不会针对无法应用的域名报告失败。
- :要设置的软件包,如果使用“all”,则设置所有软件包
- :要为域名设置的代码。有效值为:
- :按未记录过任何响应的情况进行重置。
- :将域名视为已成功通过域名验证代理的验证。请注意,域名验证代理可以覆盖此设置。
- :将域名视为一律批准,防止域名验证代理更改状态。
- :将域名视为一律拒绝,防止域名验证代理更改状态。
- :要更改的域名的列表(以空格分隔),如果使用“all”,则更改所有域名。
手动设置主机用户针对软件包选择的域名的状态。仅当软件包声明相应域名时,此命令才能正常运行。此命令不会针对无法应用的域名报告失败。
- :要更改哪位用户所做的选择
- :要设置的软件包
- :是否批准域名
- :要更改的域名的列表(以空格分隔),如果使用“all”,则更改所有域名
手动设置主机用户针对软件包选择的域名的状态。仅当软件包声明相应域名时,此命令才能正常运行。此命令不会针对无法应用的域名报告失败。
- :要更改哪位用户所做的选择
- :要设置的软件包
- :是否批准域名
- :要更改的域名的列表(以空格分隔),如果使用“all”,则更改所有域名
切换软件包的自动验证链接处理设置。
- :要更改哪位用户所做的选择
- :要设置的软件包,如果使用“all”,则设置所有软件包;如果未指定任何软件包,则重置软件包
- :值为 true 时,表示允许软件包打开自动验证链接;值为 false 时,表示不允许这么做
为给定用户输出特定域名的所有者(按优先级从低到高的顺序排列)。
- :要查询的用户
- :(可选)同时针对软件包声明的所有域名输出结果;如果使用“all”,则针对所有软件包声明的所有域名输出结果
- :要查询的域名的列表(以空格分隔)
为便于您开发和测试设备管理应用,请向设备政策管理器 () 工具发出命令。您可以使用该工具控制使用中的管理员应用,或更改设备上的政策状态数据。
在 shell 中,相应的 语法为:
您也可以直接从 发出设备政策管理器命令,无需进入远程 shell:
具体选项包括:
- :指定目标用户。您也可以传递 以选择当前用户。
具体选项包括:
- :指定目标用户。您也可以传递 以选择当前用户。
- :指定简单易懂的组织名称。
具体选项包括:
- :指定目标用户。您也可以传递 以选择当前用户。
- :指定简单易懂的组织名称。
具体选项包括:
- :指定目标用户。您也可以传递 以选择当前用户。
在搭载 Android 9.0(API 级别 28)及更高版本的设备上受支持。
强制系统让任何现有网络日志随时可供 DPC 检索。如果有可用的连接或 DNS 日志,DPC 会收到 回调。请参阅网络活动日志。此命令有调用频率限制。在搭载 Android 9.0(API 级别 28)及更高版本的设备上受支持。
强制系统向 DPC 提供任何现有安全日志。如果有可用的日志,DPC 会收到 回调。请参阅记录企业设备活动。此命令有调用频率限制。在搭载 Android 9.0(API 级别 28)及更高版本的设备上受支持。
命令是一个用于对设备显示屏截取屏幕截图的 shell 实用程序。
在 shell 中,相应的 语法为:
如需从命令行使用 ,请输入以下命令:
以下屏幕截图会话示例展示了如何使用 shell 截取屏幕截图,以及如何使用 命令从设备下载屏幕截图文件:
命令是一个用于录制设备(搭载 Android 4.4 [API 级别 19] 及更高版本)显示屏的 shell 实用程序。该实用程序将屏幕 activity 录制为 MPEG-4 文件。您可以使用此文件创建宣传视频或培训视频,或将其用于调试或测试。
在 shell 中,使用以下语法:
如需从命令行使用 ,请输入以下命令:
按 Ctrl+C 停止屏幕录制。否则, 在三分钟或设置的时间限制时自动停止。
如需开始录制设备屏幕,请运行 命令以录制视频。然后,运行 命令以将视频从设备下载到主机。下面是一个录制会话示例:
实用程序能以您要求的任何支持的分辨率和比特率进行录制,同时保持设备显示屏的宽高比。默认情况下,该实用程序以本机显示分辨率和屏幕方向进行录制,时长不超过三分钟。
实用程序的局限性:
- 音频不与视频文件一起录制。
- 无法在搭载 Wear OS 的设备上录制视频。
- 某些设备可能无法以它们的本机显示分辨率进行录制。如果在录制屏幕时出现问题,请尝试使用较低的屏幕分辨率。
- 不支持在录制时旋转屏幕。如果在录制期间屏幕发生了旋转,则部分屏幕内容在录制时将被切断。
从 Android 7.0(API 级别 24)开始,Android 运行时 (ART) 会收集已安装应用的执行配置文件,这些配置文件用于优化应用性能。您可以检查收集的配置文件,了解在应用启动期间,系统频繁执行了哪些方法和使用了哪些类。
要生成文本格式的配置文件信息,请使用以下命令:
要检索生成的文件,请使用:
如果您在多个测试设备上测试应用,则在两次测试之间重置设备可能很有用,例如,可以移除用户数据并重置测试环境。您可以使用 shell 命令对搭载 Android 10(API 级别 29)或更高版本的测试设备恢复出厂设置,如下所示。
使用 恢复设备时,设备会自动将允许通过当前工作站调试设备的 RSA 密钥备份在一个持久性位置。也就是说,在重置设备后,工作站可以继续调试设备并向设备发出 命令,而无需手动注册新密钥。
此外,为了帮助您更轻松且更安全地继续测试您的应用,使用 恢复设备还会更改以下设备设置:
- 设备会设置某些系统设置,以便不会出现初始设备设置向导。也就是说,设备会进入一种状态,供您快速安装、调试和测试您的应用。
- 设置:
- 停用锁定屏幕。
- 停用紧急警报。
- 停用账号自动同步。
- 停用自动系统更新。
- 其他:
- 停用预安装的安全应用。
如果您的应用需要检测并适应 命令的默认设置,请使用 。
可启动用于检查 SQLite 数据库的 命令行程序。它包含用于输出表格内容的 以及用于输出现有表格的 语句的 等命令。您也可以从命令行执行 SQLite 命令,如下所示:
如需了解详情,请参阅 。
adb 服务器可以通过两个后端与 USB 堆栈交互。它可以使用 操作系统(Windows、Linux 或 macOS)后端,也可以使用 后端。 、 和 USB 速度检测等功能 仅在使用 后端时可用。
您可以使用 环境变量选择后端。 如果未设置此属性,adb 将使用其默认后端。默认行为因操作系统而异。正在启动 使用 ADB v34 时, 默认情况下,除 Windows 之外的所有操作系统都使用 后端,其中原生后端是 默认使用的技术。如果 设置时,它决定是使用原生后端还是使用 。请参阅 adb 手册页面 详细了解 adb 环境变量。
<ph type="x-smartling-placeholder">
ADB 可以使用多播 DNS 协议自动连接服务器和设备。 ADB 服务器附带两个后端,即 Bonjour(Apple 的 mdnsResponder)和 Openscreen。
Bonjour 后端需要在宿主机上运行守护程序。 在 macOS 上,Apple 的内置守护程序会始终运行,但在 Windows 和 Linux 上,用户必须确保 守护程序已启动并运行。 如果命令 返回错误,可能是因为 ADB 正在使用 Bonjour 后端,但没有运行 Bonjour 守护程序。
Openscreen 后端不需要在该机器上运行守护程序。对 macOS 上的 Openscreen 后端的支持从 ADB v35 开始。从 ADB v34 开始支持 Windows 和 Linux。
默认情况下,ADB 使用 Bonjour 后端。可以使用环境变量 更改此行为 (设置为 或 )。 如需了解更多详情,请参阅 ADB 手册页面。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/3921.html