Linux如何用ADB调试Android设备?

Linux安装ADB

  1. 通用安装方法

    sudo apt update && sudo apt install android-tools-adb android-tools-fastboot  # Ubuntu/Debian
    sudo dnf install android-tools  # Fedora
    sudo pacman -S android-tools    # Arch/Manjaro
  2. 验证安装

    adb --version  # 输出版本信息即成功(如:Android Debug Bridge version 1.0.41)

设备连接与授权

  1. 开启USB调试

    • 进入设备设置 → 关于手机 → 连点「版本号」启用开发者模式。
    • 返回设置 → 开发者选项 → 启用「USB调试」。
  2. 连接设备

    adb devices  # 查看设备列表
    • 若显示unauthorized,在设备弹窗点击「允许USB调试」。
  3. 无线调试(无需USB线)

    adb tcpip 5555       # 设备USB连接时开启无线端口
    adb connect 192.168.x.x:5555  # 通过IP连接设备

常用ADB命令详解

场景 命令 作用
应用管理 adb install ~/app.apk 安装应用
adb uninstall com.example.app 卸载应用(需包名)
文件传输 adb push local.txt /sdcard/ 电脑文件推送到设备
adb pull /sdcard/photo.jpg ~/Downloads/ 从设备提取文件到电脑
设备操作 adb reboot 重启设备
adb shell input keyevent 26 模拟电源键(26为键值码)
日志调试 adb logcat 实时查看系统日志
adb logcat -v time > log.txt 保存带时间戳的日志到文件
Shell交互 adb shell 进入设备终端
adb shell pm list packages 列出所有已安装应用包名

高级调试技巧

  1. 屏幕截图与录屏

    adb exec-out screencap -p > screen.png  # 截图保存到当前目录
    adb shell screenrecord /sdcard/demo.mp4 # 录屏(Ctrl+C停止)
  2. 应用数据备份与恢复

    adb backup -f backup.ab com.example.app  # 备份应用数据
    adb restore backup.ab                    # 恢复备份
  3. 端口转发

    adb forward tcp:8080 tcp:8080  # 将设备8080端口映射到电脑

故障排除

  • 设备未识别

    1. 检查lsusb确认设备连接,创建规则文件:
      echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"' | sudo tee /etc/udev/rules.d/51-android.rules
      sudo udevadm control --reload-rules
    2. 重启ADB服务:adb kill-server && adb start-server
  • 命令无响应
    重新插拔USB线或切换连接模式(文件传输/充电)。


安全注意事项

  1. 仅连接可信设备,避免恶意软件通过ADB获取权限。
  2. 生产环境中关闭USB调试,减少攻击面。
  3. 敏感操作(如adb root)需设备已解锁Bootloader。

权威参考来源

  • Android开发者文档:ADB命令大全
  • Google官方Android调试指南
  • Linux设备规则配置:Android Open Source Project

通过掌握这些核心操作,开发者可高效管理Android设备,建议结合官方文档实践进阶功能,如无线调试或自动化脚本。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5801.html

(0)
酷番叔酷番叔
上一篇 2025年6月28日 03:10
下一篇 2025年6月28日 03:55

相关推荐

  • 命令行创建文件能提升效率?

    命令行创建文件能快速高效地生成文件,尤其适合批量处理、自动化脚本任务或在无图形界面的服务器环境中操作,是系统管理和开发工作的基础技能。

    2025年6月19日
    1000
  • 如何查看IIS应用程序池实时状态?

    生产环境事件(Production Incident)的应急处理需要严谨、高效的操作流程,在Visual Studio(VS)及相关技术栈中,命令的正确使用是快速定位和解决问题的关键,以下为常见场景下的命令操作指南,请务必在授权环境和充分测试后执行:核心原则最小权限原则:使用具备解决问题所需最低权限的账户执行命……

    2025年7月9日
    1000
  • 终端乱码?检查编码设置了吗

    现象描述通过SSH连接Linux服务器时,若终端显示的中文变为乱码(如”������”或”�~V�~G~U”),通常由客户端与服务器的字符编码不匹配导致,以下是经主流Linux发行版(Ubuntu/CentOS)验证的完整解决方案,核心原因分析编码不一致 客户端(本地终端)与服务器端使用的字符集不同(如UTF……

    2025年7月5日
    1100
  • 月薪3千如何存下20万

    在C语言中,通过命令提示符(Windows)或终端(Linux/macOS)输出内容主要依赖标准输出函数,以下是详细实现方法和步骤:核心输出函数:printf()printf() 是C语言最常用的输出函数,需包含头文件 <stdio.h>:int main() { printf("Hell……

    2025年7月7日
    1200
  • 剪切命令的核心概念是什么?

    剪切命令的核心功能是将选定的文件或文本移动到剪贴板暂存,原位置内容消失,需配合粘贴命令在目标位置完成移动操作。

    5天前
    600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信