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

相关推荐

  • 国内智慧物流系统公司哪家好?智慧物流系统解决方案

    国内智慧物流系统公司正从单一的自动化设备供应商向“算法+硬件+数据”一体化的全链路解决方案服务商转型,2026年行业头部企业已实现核心调度算法自研率超90%,整体解决方案平均降本增效幅度达25%-40%,行业演进:从自动化到智能化的范式转移技术架构的重构传统物流自动化侧重于“机器换人”,而2026年的智慧物流系……

    2026年5月21日
    17200
  • 负载均衡与服务发现,如何实现高效网络资源管理?如何实现负载均衡

    负载均衡与服务发现是云原生架构的“双引擎”,前者负责流量的高效分发与高可用,后者解决动态环境下的服务定位难题,二者协同构成了微服务稳定运行的基石,核心机制解析:从流量分发到智能路由在2026年的分布式系统架构中,传统的单体应用已彻底退出历史舞台,取而代之的是高度解耦的微服务集群,负载均衡(Load Balanc……

    2026年6月14日
    11500
  • ASP语法格式的标准写法与常见规范有哪些?

    基础语法结构与页面指令ASP(Active Server Pages)是一种服务器端脚本环境,其核心语法基于VBScript(默认)或JScript,通过在HTML中嵌入脚本代码实现动态网页功能,ASP页面以.asp为扩展名,服务器在收到请求后解析脚本代码,生成纯HTML内容返回给客户端,基础语法结构以&lt……

    2025年11月12日
    21700
  • ASP如何读取二进制数据库?

    在ASP(Active Server Pages)开发中,读取二进制数据库是一项常见的需求,特别是在处理文件存储、图片、文档等多媒体数据时,本文将详细介绍ASP如何高效读取二进制数据库,涵盖技术原理、实现步骤、注意事项及最佳实践,帮助开发者掌握这一核心技能,二进制数据库存储基础二进制数据(如图片、PDF、视频等……

    2025年11月27日
    18100
  • 关系型数据库与结构化数据库有何本质区别?结构化数据库是什么

    关系型数据库是结构化数据库最典型且应用最广泛的子集,二者并非对立概念,而是“包含与被包含”的逻辑关系;在2026年的企业级架构中,选择核心在于业务场景对ACID事务一致性的刚性需求程度,而非单纯的技术名词辨析,概念辨析:从逻辑定义到技术本质要厘清两者的边界,首先需回归数据模型的本源,结构化数据库(Structu……

    2026年6月5日
    9800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信