如何安装 ADB 工具?

adb shell 是 Android Debug Bridge (ADB) 的核心组件,允许开发者通过 Linux 终端与连接的 Android 设备交互,它在调试应用、管理文件、查看系统日志等场景中至关重要,本文将详细讲解在 Linux 系统上使用 adb shell 的完整流程,涵盖安装、连接、常用命令及故障排除。
在 Linux 上使用 adb shell 前,需先安装 ADB 工具包:

通过包管理器安装

  • Debian/Ubuntu:
    sudo apt update && sudo apt install android-tools-adb android-tools-fastboot
  • Arch/Manjaro:
    sudo pacman -S android-tools
  • Fedora/RHEL:
    sudo dnf install android-tools

手动安装(通用方法)

从 Google 官方平台工具页面 下载 ZIP 包:

   wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
   unzip platform-tools-latest-linux.zip
   sudo mv platform-tools /opt/  
   echo 'export PATH=$PATH:/opt/platform-tools' >> ~/.bashrc  # 添加环境变量
   source ~/.bashrc  # 立即生效

连接 Android 设备

USB 连接

  • 步骤:
    1. 设备开启 开发者模式:
      • 进入 设置 > 关于手机 > 版本号,连续点击 7 次。
    2. 启用 USB 调试:
      • 返回 设置 > 系统 > 开发者选项,打开 USB 调试。
    3. 通过 USB 连接设备到 Linux 主机。
    4. 终端执行:
      adb devices  # 查看设备是否识别
  • 若设备未列出:
    • 创建 USB 规则文件:
      sudo nano /etc/udev/rules.d/51-android.rules

      (替换 idVendor,通过 lsusb 查询设备 ID):

      SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"  
    • 重载规则:
      sudo udevadm control --reload-rules
      sudo udevadm trigger

网络连接(Wi-Fi)

   adb tcpip 5555       # 设备通过 USB 开启 TCP 端口
   adb connect <设备IP>:5555  # 断开 USB 后通过 IP 连接

常用 adb shell 命令详解

基础交互

  • 进入设备终端:
    adb shell

    退出时输入 exit 或按 Ctrl+D。

  • 单次执行命令(不进入 shell):
    adb shell <命令>  # adb shell ls /sdcard

文件管理

命令 作用
adb push <本地路径> <设备路径> 复制文件到设备(如 adb push ~/file.txt /sdcard/)
adb pull <设备路径> <本地路径> 从设备复制文件到本地(如 adb pull /sdcard/log.txt ~/)
adb shell ls /path 列出设备目录内容
adb shell rm /path/file 删除设备文件

应用与系统管理

  • 查看已安装应用:
    adb shell pm list packages
  • 卸载应用:
    adb uninstall <包名>  # 保留数据加 `-k`
  • 启动 Activity:
    adb shell am start -n <包名>/<Activity名>  
  • 查看系统日志:
    adb logcat  # 实时日志
    adb logcat -d > log.txt  # 导出日志

设备信息

   adb shell getprop ro.product.model  # 设备型号
   adb shell settings list system      # 系统设置
   adb shell dumpsys battery           # 电池状态

高级用法

后台执行命令

使用 nohup 在设备后台运行命令:

   adb shell "nohup <命令> &"

屏幕截图与录屏

  • 截图:
    adb shell screencap /sdcard/screen.png
    adb pull /sdcard/screen.png
  • 录屏(需 Android 4.4+):
    adb shell screenrecord /sdcard/video.mp4
    # 按 Ctrl+C 停止录制后拉取文件

Root 权限操作

若设备已 Root,在 adb shell 后输入 su 获取 root 权限:

   adb shell
   su
   # 执行需 root 的命令(如修改 /system 文件)

故障排除

设备未识别

  • 检查 adb devices 是否列出设备。
  • 重启 ADB 服务:
    adb kill-server && adb start-server
  • 更换 USB 线或端口。

权限不足错误

  • 若提示 permission denied:
    • 尝试 adb root 重启守护进程(需设备支持)。
    • 检查设备是否授权 USB 调试(弹出窗口点“允许”)。

网络连接失败

  • 确保设备与电脑在同一局域网。
  • 重新执行:
    adb disconnect && adb connect <IP>:5555

安全提示

  • 谨慎使用 su 命令:Root 操作可能导致系统不稳定或安全风险。
  • 仅信任来源连接:避免通过公共网络使用 adb connect。
  • 及时关闭调试:完成操作后关闭设备 USB 调试功能。

掌握 adb shell 能极大提升 Android 开发和设备管理效率,本文涵盖从安装到高级操作的完整流程,建议结合实践逐步探索更多命令(如 adb shell top 查看进程资源占用),遇到问题时,可查阅 Android 官方文档 或社区资源。

引用说明:

  • Android 开发者文档:ADB 命令指南
  • Linux Udev 规则配置:ArchWiki
  • 社区经验:Stack Overflow, XDA Developers

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

赞 (0)
酷番叔酷番叔
上一篇 2025年6月28日 01:30
下一篇 2025年6月28日 01:52

相关推荐

  • 智能教育生态是什么,智能教育生态建设

    2026年智能教育生态已跨越“技术堆砌”阶段,进入“数据驱动+人机协同”的深水区,其核心结论是:唯有构建以学习者为中心、符合国标合规要求、且具备情感交互能力的闭环生态,才能解决个性化缺失与教育公平难题,实现从“知识灌输”向“素养培育”的根本性转变,智能教育生态的演进逻辑与核心架构智能教育不再是单一工具的叠加,而……

    2026年6月30日
    9100
  • Android本地存储数据库,有哪些常见问题和解决方案?,常见问题如何解决

    对于Android本地存储数据库,2026年官方推荐的首选方案是Room,但需根据数据复杂度和性能需求在SQLite、Realm、ObjectBox等方案中权衡,核心方案与技术解析Room:Google官方持久化库基于SQLite的抽象层,提供编译时SQL验证、自动迁移、Kotlin协程与Flow原生支持,20……

    2026年7月19日
    9400
  • ASP与ASP.NET传中文参数如何UrlEncode编码接收解码?

    在Web开发中,ASP页面与ASP.NET页面之间的参数传递是常见需求,尤其是涉及中文参数时,若处理不当极易出现乱码问题,这主要是因为URL规范仅支持ASCII字符,而中文等非ASCII字符需通过编码转换才能在URL中安全传输,本文将详细解析ASP与ASP.NET页面间传递中文参数时,如何正确使用UrlEnco……

    2025年11月15日
    25000
  • ASP随机数生成的方法有哪些?如何确保随机性、避免重复并提升性能?

    在Web开发中,随机数生成是常见需求,例如验证码、随机推荐、测试数据模拟等场景,在ASP(经典ASP,基于VBScript)中,随机数生成主要通过Randomize和Rnd函数实现,本文将详细介绍其用法及常见应用场景,基础方法:Randomize与Rnd函数ASP的随机数生成依赖两个核心函数:Randomize……

    2025年11月12日
    26100
  • 云虚拟主机续费疑问多?云主机续费流程,云主机续费价格

    2026年云虚拟主机续费并非强制行为,但为保障网站数据完整、SEO权重稳定及避免IP被封禁,建议在到期前30天完成续费;若长期闲置,可转为低配存储套餐以降低成本,而非直接删除,云虚拟主机作为中小企业建站的主流选择,其续费逻辑已从简单的“时间延续”演变为包含数据资产保护、服务等级协议(SLA)延续及成本优化的综合……

    2026年6月22日
    10300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信