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!

相关推荐
darkb1rd3 分钟前
五、PHP类型转换与类型安全
android·安全·php
gjxDaniel26 分钟前
Kotlin编程语言入门与常见问题
android·开发语言·kotlin
csj5026 分钟前
安卓基础之《(22)—高级控件(4)碎片Fragment》
android
峥嵘life1 小时前
Android16 【CTS】CtsMediaCodecTestCases等一些列Media测试存在Failed项
android·linux·学习
stevenzqzq2 小时前
Compose 中的状态可变性体系
android·compose
似霰2 小时前
Linux timerfd 的基本使用
android·linux·c++
darling3314 小时前
mysql 自动备份以及远程传输脚本,异地备份
android·数据库·mysql·adb
你刷碗4 小时前
基于S32K144 CESc生成随机数
android·java·数据库
TheNextByte15 小时前
Android上的蓝牙文件传输:跨设备无缝共享
android
Remember_9935 小时前
MySQL 索引详解:从原理到实战优化
java·数据库·mysql·spring·http·adb·面试