Linux安装和使用Android Debug Bridge(ADB)

目录

1、开发环境和工具

2、ADB是什么?

3、安装ADB

[3.1、使用包管理器安装 ADB](#3.1、使用包管理器安装 ADB)

[3.2、手动安装 ADB](#3.2、手动安装 ADB)

4、使用ADB

4.1、连接设备

4.2、执行shell命令

4.3、安装应用程序

4.4、截取屏幕截图

4.5、模拟按键和手势

4.6、上传文件到Android设备

4.7、从Android设备下载文件


1、开发环境和工具

硬件环境: SoC全志T527

2、ADB是什么?

ADB(Android Debug Bridge)是一个用于在计算机和 Android 设备之间通信的命令行工具。它是 Android SDK(Software Development Kit)的一部分,主要用于调试和管理 Android 设备。ADB 的作用包括但不限于:

  • 调试应用程序:开发人员可以使用 ADB 在 Android 设备上调试其应用程序,包括查看日志、安装和卸载应用程序等。
  • 文件传输:通过 ADB 可以在计算机和 Android 设备之间传输文件。
  • 执行 shell 命令:可以使用 ADB 进入 Android 设备的 shell,并执行各种命令来管理设备或执行特定任务。
  • 屏幕截图和录制:ADB 允许用户在计算机上截取 Android 设备的屏幕截图,甚至录制屏幕。
  • 模拟按键和手势:通过 ADB,用户可以模拟 Android 设备上的按键和手势操作。

3、安装ADB

3.1、使用包管理器安装 ADB

在大多数 Linux 发行版中,ADB 可以通过软件包管理器直接安装。例如,在 Ubuntu 中,你可以使用以下命令安装 ADB:

复制代码
sudo apt install adb

3.2、手动安装 ADB

如果你的发行版没有提供 ADB 软件包,你可以从 Android 官网下载 Android SDK,并手动安装 ADB。安装完成后,将 ADB 的路径添加到系统路径中,以便在命令行中直接使用。

4、使用ADB

一旦安装完成,你就可以在命令行中使用 ADB 了。以下是一些常用的 ADB 命令。

4.1、连接设备

在使用 ADB 之前,首先需要将 Android 设备通过 USB 连接到计算机上。然后,在命令行中执行以下命令以确保设备已连接:

复制代码
adb devices

如果设备已连接,它的序列号将显示在列表中。

4.2、执行shell命令

你可以通过 ADB 执行设备上的 shell 命令。例如,要查看设备的当前时间,可以执行以下命令:

复制代码
adb shell date

4.3、安装应用程序

使用 ADB 可以将应用程序安装到 Android 设备上。例如,要安装名为 app.apk 的应用程序,执行以下命令:

复制代码
adb install app.apk

4.4、截取屏幕截图

你可以使用 ADB 在计算机上截取 Android 设备的屏幕截图。例如,执行以下命令:

复制代码
adb shell screencap -p | sed 's/\r$//' > screen.png

这将在当前目录下生成一个名为 screen.png 的屏幕截图。

4.5、模拟按键和手势

通过 ADB,你可以模拟 Android 设备上的按键和手势。例如,模拟点击屏幕中心的位置:

复制代码
adb shell input tap x y

其中 xy 是点击位置的坐标。

4.6、上传文件到Android设备

使用以下命令将文件上传到设备:

复制代码
adb push /path/to/local/file /path/on/device

例如,要将名为 example.txt 的本地文件上传到设备的 /sdcard 目录中,执行以下命令:

复制代码
adb push example.txt /sdcard/

4.7、从Android设备下载文件

使用以下命令从设备下载文件:

复制代码
adb pull /path/on/device /path/to/local/directory

例如,要从设备的 /sdcard 目录下载名为 example.txt 的文件到本地的 /home/user/Documents 目录中,执行以下命令:

复制代码
adb pull /sdcard/example.txt /home/user/Documents/

这将把设备上的 example.txt 文件下载到本地的 /home/user/Documents 目录中。

相关推荐
工业一体机老司机5 分钟前
Linux工业一体机自启动服务配置:systemd服务单元编写与开机优化实战
java·linux·服务器
zhixingheyi_tian7 分钟前
Linux 之 ssh
linux·服务器·ssh
Zha0Zhun24 分钟前
Jetpack Compose 实现 iOS 风格 3D WheelPicker
android
小鱼仙官44 分钟前
Ubuntu C++ NTP校时程序
linux·c++·ubuntu
RisunJan1 小时前
Linux命令-vgdisplay(显示卷组详细属性)
linux·运维·数据库
深念Y1 小时前
RIO-UL00(EMUI 4.1 / Android 6.0.1 / arm64)开机自启动 sshd
android·linux·华为·安卓·chroot·sshd·emui
爱和冰阔落1 小时前
【MySQL 慢查询排查实战】列表接口逐渐变慢时,怎样从请求链路定位原因
android·数据库·mysql
Escalating_xu1 小时前
【Linux线程】线程控制全解析:终止、join/detach、cancel、线程栈与 NPTL(下篇)
java·linux·运维
老当益壮梁奶奶1 小时前
Linux软件编程学习笔记(二)Linux文件IO编程入门:从fopen到fgetc
linux·c语言·c++·笔记·学习
sunoo-2291 小时前
C 语言文件 IO 全攻略:从基础函数到实战踩坑(BMP 读取 + 词典查询)
linux·c语言·前端·笔记·vscode·学习