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!

相关推荐
Zhu75811 小时前
在k8s集群部署MySQL单实例,支持多个主流发行版
android·mysql·kubernetes
AFinalStone14 小时前
Android 7系统异常问题排查(四)Framework层(上)—System Server Watchdog
android·系统异常
宝杰X715 小时前
Android Room3 多平台数据库
android·数据库
huibin14785236918 小时前
热缓解学习记录
android·学习
小田的博客21 小时前
SAP MM 供应商银行主数据更新报错!message R1228!
android·java·服务器
2501_915918411 天前
iOS 怎么抓包?抓包鹰系统级 网卡 应用层三种方式对比,不越狱抓 iPhone 流量
网络协议·计算机网络·网络安全·ios·adb·https·udp
一笑的小酒馆1 天前
Android智能猫砂盆视频加载慢卡顿问题分析
android
只会cv的小前端1 天前
七巧低代码服务端脚本使用方法
android·低代码·rxjava
1 天前
Android 自定义 View 实战:从零打造工业级全向摇杆控件(OmniJoystickView)
android·kotlin·自定义view·摇杆控件
雨白1 天前
深入理解 Kotlin 协程 (十一):以逸待劳,探秘 select 多路复用与并发安全策略
android·kotlin