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!

相关推荐
Storm-Shadow3 小时前
Android OpenGLES视频剪辑示例源码
android·opengles·视频滤镜
双桥wow3 小时前
android 堆栈打印
android
爱学习的大牛1238 小时前
使用C++开发Android .so库的优势与实践指南
android·.so·1024程序员节
帅锅锅00711 小时前
SeLinux Type(类型)深度解析
android·操作系统
2501_9159214311 小时前
iOS混淆与IPA加固全流程(iOS混淆 IPA加固 Ipa Guard实战)
android·ios·小程序·https·uni-app·iphone·webview
游戏开发爱好者811 小时前
iOS 26 App 开发阶段性能优化 从多工具协作到数据驱动的实战体系
android·ios·小程序·uni-app·iphone·webview·1024程序员节
2501_9151063211 小时前
深入剖析 iOS 26 系统流畅度,多工具协同监控与性能优化实践
android·ios·性能优化·小程序·uni-app·cocoa·iphone
小彤花园12 小时前
GooglePlay更改签名秘钥报错(2025最新版)
android·google
Answer_momo13 小时前
一文读懂 Kotlin 数据流 Flow 的使用
android