Android adb 的功能和用法

Android adb 的功能和用法

Android Debug Bridge(简称 adb)是 Android 开发者必备的调试工具。它允许我们在开发设备(比如电脑)和 Android 设备(真机或模拟器)之间建立通信,并通过命令行执行各种操作,如安装应用、日志查看、调试应用、文件传输等。

本文将深入介绍 adb 的核心功能及其详细用法,并结合 Kotlin 代码进行演示。

1. adb 基本介绍

adb 是 Android SDK 提供的一个命令行工具。它的主要作用包括:

  • 设备管理:列出已连接的设备,进入设备的 Shell 命令行。
  • App 管理:安装、卸载、启动、停止 App。
  • 调试应用:抓取日志、查看进程、调试 ANR(应用无响应)等。
  • 文件操作:在 PC 和 Android 设备之间复制文件。
  • 网络调试:端口转发、网络抓包等。

要使用 adb,首先确保你的 Android 设备已启用开发者模式,并开启 USB 调试。

2. 安装和配置 adb

在使用 adb 之前,你需要确保 adb 已正确安装。

Windows/Mac/Linux 安装步骤

  1. 下载 Android SDK Platform-Tools
  2. 解压后,将 platform-tools 目录添加到系统环境变量(可选)。
  3. 在终端或命令提示符中输入:
bash 复制代码
adb version

如果正确安装,会显示 adb 的版本信息,例如:

bash 复制代码
Android Debug Bridge version 1.0.41  
Version 34.0.0-10241027  
Installed as /usr/local/bin/adb  

3. 连接设备

你可以使用 USB 或 Wi-Fi 连接 Android 设备。

查看已连接的设备

bash 复制代码
adb devices

如果设备连接成功,你会看到类似下面的输出:

bash 复制代码
List of devices attached  
emulator-5554   device  
0123456789ABCDEF  device  

Wi-Fi 连接 adb

  1. 确保手机和电脑在同一局域网内。
  2. 在 USB 连接状态下,获取设备 IP 地址:
bash 复制代码
adb shell ifconfig wlan0
  1. 断开 USB,使用 Wi-Fi 连接:
bash 复制代码
adb connect <设备 IP>:5555

4. adb 常用命令

进入设备 Shell

bash 复制代码
adb shell

安装 APK

bash 复制代码
adb install my_app.apk

卸载 APK

bash 复制代码
adb uninstall com.example.myapp

推送文件到设备

bash 复制代码
adb push myfile.txt /sdcard/

从设备拉取文件

bash 复制代码
adb pull /sdcard/myfile.txt .

5. adb 调试应用

在开发过程中,adb 可以帮助我们调试 Android 应用。例如,我们可以使用 logcat 查看日志:

bash 复制代码
adb logcat -s "MyAppTag"

也可以使用 dumpsys 获取系统信息,比如查看 CPU 占用:

bash 复制代码
adb shell dumpsys cpuinfo

6. Kotlin 代码示例

在 Kotlin 代码中,我们可以使用 Runtime.getRuntime().exec() 方式执行 adb 命令。例如:

kotlin 复制代码
fun executeAdbCommand(command: String): String {
    val process = Runtime.getRuntime().exec(command)
    val output = process.inputStream.bufferedReader().readText()
    process.waitFor()
    return output
}

fun main() {
    val devices = executeAdbCommand("adb devices")
    println("Connected Devices: \n$devices")
}

7. 结论

adb 是 Android 开发中必不可少的工具,它能极大地提高开发和调试的效率。本文介绍了 adb 的核心功能,包括设备管理、文件传输、应用管理、日志查看等,还结合 Kotlin 代码示例演示了如何在程序中执行 adb 命令。希望这篇文章能帮助你更好地理解和使用 adb!

相关推荐
王正南39 分钟前
安卓逆向之LSposed开发(一)
android·xposed·lsposed
YIN_尹1 小时前
【MySQL】数据类型(上)
android·mysql·adb
robotx3 小时前
AOSP设备节点权限添加相关
android
顾林海3 小时前
Android文件系统安全与权限控制:给应用数据上把“安全锁”
android·面试·操作系统
青莲8433 小时前
Android 动画机制完整详解
android·前端·面试
城东米粉儿3 小时前
android 离屏预渲染 笔记
android
未知名Android用户3 小时前
Android自定义 View + Canvas—声纹小球动画
android
_李小白4 小时前
【Android FrameWork】延伸阅读:AMS 的 handleApplicationCrash
android·开发语言·python
_李小白4 小时前
【Android FrameWork】第四十九天:SystemUI
android