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

相关推荐

  • 如何高效理解记忆并实践背诵?

    学习 Linux 命令常常让初学者望而生畏,面对终端里看似神秘莫测的字符组合,如何高效记忆并运用自如?死记硬背不仅痛苦,而且效果短暂,本文将基于认知科学原理和资深用户的实践经验,分享一套系统、高效且可持续的 Linux 命令记忆策略,帮助你真正掌握命令行的力量,记忆的基石是理解和关联,单纯记住 ls -l 是列……

    2025年7月5日
    12800
  • 易语言窗口截图用哪种方法好?

    方法1:核心支持库快照 + 窗口裁剪(通用方案)步骤1:获取目标窗口句柄窗口句柄 = 取窗口句柄 ("Notepad", "无标题 – 记事本") // 精易模块命令说明:使用第三方模块(如精易模块)的取窗口句柄命令,通过窗口标题/类名定位目标窗口,若无模块,可调用API……

    2025年7月15日
    12000
  • ASP语法格式的标准写法与常见规范有哪些?

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

    2025年11月12日
    8000
  • ASP如何有效防止SQL注入攻击?

    在Web应用开发中,安全性始终是不可忽视的核心环节,而SQL注入作为最常见的攻击手段之一,对ASP应用的威胁尤为突出,所谓ASP防注入,是指通过一系列技术手段和编程实践,阻止攻击者通过输入字段恶意插入SQL代码,从而保护数据库安全的过程,本文将从攻击原理、防护措施及代码实现三个维度,系统介绍ASP防注入的最佳实……

    2025年11月27日
    7400
  • asp表单提交按钮

    在Web开发中,表单是用户与服务器交互的核心组件,而提交按钮则是触发表单数据传输的关键元素,在ASP(Active Server Pages)技术中,表单提交按钮的设计与实现直接影响用户体验和数据处理的准确性,本文将深入探讨ASP表单提交按钮的相关知识,包括其基本原理、属性设置、事件处理、安全性考量以及常见问题……

    2025年12月1日
    7500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信