问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

ADB——Android 开发中不可或缺的调试桥梁

创作时间:
作者:
@小白创作中心

ADB——Android 开发中不可或缺的调试桥梁

引用
CSDN
1.
https://blog.csdn.net/TDSSS/article/details/145997794

ADB(Android Debug Bridge)是Android开发中不可或缺的调试工具,它可以帮助开发者更高效地进行应用测试和调试。本文将详细介绍ADB的基本概念、安装配置方法、无线连接步骤以及常用命令的使用,帮助Android开发者充分利用这一强大工具。

前言

在Android开发中,经常需要连接手机进行测试。传统的有线连接方式存在一些弊端,如测试设备较多时需要连接额外的扩展坞,线接触不良时会特别痛苦等。幸运的是,Android Studio提供了通过Wi-Fi无线连接设备的方式,这正是通过ADB(Android Debug Bridge)实现的。

Android 调试桥 (adb)

adb(android debug bridge),翻译过来是安卓调试桥。是google对Android设备做的一个命令行工具,adb命令可以执行各种设备操作,例如:安装apk、push/pull文件、无线连接(端口转发)、打开apk等。

它是一种客户端-服务器程序,包括以下三个组件:

  • 客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
  • 守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
  • 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。

下载

如果已经安装了AndroidSDK,并在安装时勾选了一起下载platform-tools。

则已经在电脑上下载好了adb,具体位置在:

{AndroidSDK路径}\platform-tools\adb.exe

如果没有platform-tools这个文件夹,说明需要单独下载,单独下载地址:

SDK 平台工具

添加到环境变量

下载完成后,需要在此电脑-属性-高级系统设置-高级选项卡-环境变量-系统变量-path中添加platform-tools路径

点击确定关闭所有窗口后,在命令行中运行


adb --version  

看到正常的版本信息打印,那么恭喜你,可以继续下一步啦。

如果还是有报错,则需要再返回上一步倒腾倒腾。

在设备中启用adb调试

想在手机上运行adb调试命令,则必须进入设置-开发者选项,找到并打开USB调试的开关。

关于如何找到开发者选项,不同设备之间有所差距,一般来说都是点击手机系统7次,就能打开开发者选项。

如果方法不管用,具体可以去搜索引擎查询"xx手机系统如何打开开发者选项"。

下面以小米14为例:

打开设置——我的设备——全部参数与信息——点击OS版本7次

开启之后,回到设置的第一个页面,在最下方有一个更多设置,更多设置的最下方有一个开发者选项,进入后找到USB调试开关,打开即可。

(如果需要通过ADB命令安装apk,还需打开USB安装开关)

无线连接到手机

方法一(需要Android 11 API30及以上的设备):

方法一详情

此方法并不实用,且连接不够稳定,有版本限制等,此处不多赘述介绍,主要使用方法二

方法二(需先进行一次有线连接):

  1. 将 Android 设备和 adb 主机连接到同一 Wi-Fi 网络。
  2. 使用 USB 线将设备连接到主机。
  3. 设置目标设备以监听端口 5555 上的 TCP/IP 连接:

adb tcpip 5555  
  1. 拔掉连接目标设备的 USB 线。
  2. 找到 Android 设备的 IP 地址。例如,对于 Nexus 设备,您可以在设置 > 关于手机> 状态 > IP 地址下找到 IP 地址。
  3. 通过 IP 地址连接到设备:

adb connect [device_ip_address]:5555  
  1. 确认主机已连接到目标设备:

打开cmd运行命令

adb devices


List of devices attached 
[device_ip_address]:5555 device  

如果看到以上信息,则该设备现已连接到 adb。

如果与设备的 adb 连接断开:

  • 确保主机仍与 Android 设备连接到同一 Wi-Fi 网络。
  • 通过再次执行 adb connect 步骤重新连接。
  • 如果这样无法解决问题,请重置 adb 主机:

adb kill-server

然后,从头开始操作。

adb常用命令

  • 调用adb命令时,有一些命令可以不用指定设备,例如查看设备,停止adb服务器等。
  • 而有一些命令是针对设备的操作,需要指定设备。例如安装apk,复制文件等。但仅连接1个设备时,可以省略指定设备

查看已连接到adb的设备


adb devices
adb devices adb devices -l  

查看已连接到电脑adb的所有设备

如果加上-l 则会展示更多信息

停止adb服务器

有时候adb命令执行有问题时,可以停止重启adb服务器

停止:

adb kill-server

,然后调用任意代码就能重启adb服务器。

安装apk

[apk_path]

就是电脑上apk的全路径

[-s serial_number]

serial_number就是通过adb devices获取到的名称,用来指定该命令用于哪一个设备。在只连接了1个设备的时候,可以省略该命令


adb [-s serial_number] install [apk_path]  

将文件复制到设备/从设备复制文件

[remote_path]

即电脑上文件路径

[local_path]

即手机路径

从设备中复制文件,可以将任意目录的文件复制到任意位置


adb pull [remote_path] [local_path]  

复制文件到设备


adb push [local_path] [remote_path]  

发出Shell命令

调用activity管理器

启动activity

[options]

有很多选项:

  • -D 启动调试功能。
  • -W 等待启动完成。
  • –start-profiler file:启动性能分析器并将结果发送至 file。
  • -P file:类似于 --start-profiler,但当应用进入空闲状态时剖析停止。
  • -R count:重复启动 activity count 次。在每次重复前,将完成顶层 activity。
  • -S:在启动 activity 前,强行停止目标应用。
  • –opengl-trace:启用 OpenGL 函数的跟踪。
  • –user user_id | current:指定要作为哪个用户运行;如果未指定,则作为当前用户运行。

[intent]

包名/activity名


adb shell am start [options] [intent]  

例如:


adb shell am start tds.demo.util/tds.demo.util.MainActivity  

调用软件包管理器(pm)

清除apk所有数据

[package_name]

应用程序包名


adb shell pm clear [package_name]  

结语

学会这些命令,可以帮助开发者在手机上测试提供许多便利,最大的帮助就是从有线变为无线,还有实现和Android studio一样的,点击run就可以装包并打开activity。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号