Linux系统下详细如何通过ADB连接手机设备的步骤是什么?

在Linux系统中通过ADB(Android Debug Bridge)连接手机是进行Android设备调试、文件传输或应用安装的常见操作,整个过程可分为准备工作、USB连接、WiFi连接及常见问题解决几个步骤,需确保设备与系统环境配置正确。

linux adb如何连接手机

准备工作

  1. 安装ADB工具
    Linux系统通常需手动安装ADB,不同发行版包管理器命令不同:

    • Ubuntu/Debian:sudo apt update && sudo apt install android-tools-adb
    • Fedora/CentOS:sudo dnf install android-tools
    • Arch Linux:sudo pacman -S android-tools
      安装后可通过adb version命令验证是否成功(显示版本号即安装成功)。
  2. 开启手机USB调试模式

    • 首先在手机“设置”中找到“关于手机”,连续点击“版本号”或“构建号”7次,启用“开发者选项”;
    • 返回“设置-系统-开发者选项”,开启“USB调试”开关(部分品牌手机需额外开启“USB调试(安全模式)”)。

USB连接手机

  1. 物理连接与授权

    • 用USB数据线连接手机与Linux电脑,确保线缆支持数据传输(部分充电线仅支持供电);
    • 手机首次连接时,屏幕会弹出“允许USB调试吗?”的对话框,勾选“始终允许”并点击“确定”,否则电脑端ADB无法识别设备。
  2. Linux端检查识别

    linux adb如何连接手机

    • 连接后,在终端执行adb devices命令,若设备正常授权,会显示设备序列号(如xxxxxxxx device);
    • 若显示unauthorized,说明手机未授权,需重新确认对话框;若显示offline,可能是驱动或USB接口问题,尝试更换数据线或USB口。
  3. 权限问题解决(Ubuntu为例)
    部分Linux系统(如Ubuntu)默认限制普通用户访问USB设备,需配置udev规则:

    • 执行lsusb查找手机厂商ID(如12d1:107e表示华为某型号);
    • 创建规则文件:sudo nano /etc/udev/rules.d/51-android.rulesSUBSYSTEM=="usb", ATTR{idVendor}=="12d1", ATTR{idProduct}=="107e", MODE="0666"(替换为实际ID);
    • 保存后执行sudo chmod 644 /etc/udev/rules.d/51-android.rulessudo systemctl restart udev,重新连接设备即可。

WiFi连接手机(无需USB线)

若需无线连接,需先通过USB配对,步骤如下:

  1. USB配对并开启TCP/IP模式

    • 确保USB连接正常(adb devices能识别设备);
    • 执行adb tcpip 5555(端口号可自定义,默认5555),手机提示“重启TCPIP模式”后拔掉USB线。
  2. 获取手机IP并连接

    linux adb如何连接手机

    • 在手机WiFi设置中查看当前IP地址(如168.1.100);
    • Linux终端执行adb connect 192.168.1.100:5555,若显示connected to 192.168.1.100:5555则连接成功;
    • 后续可直接通过WiFi调试,无需USB线,断开连接执行adb disconnect即可。

常见问题解决

问题现象 可能原因及解决方法
adb devices无设备显示 未开启USB调试;2. 数据线仅支持充电;3. Linux权限未配置(需修改udev规则);4. 手机USB接口故障。
设备显示offline USB接口接触不良,重新插拔;2. 手机USB调试被禁用,重新开启;3. 执行adb kill-server && adb start-server重启ADB服务。
WiFi连接失败 手机与电脑不在同一WiFi网络;2. 防火墙阻止端口5555,关闭Linux防火墙(sudo ufw disable);3. IP地址错误,重新确认手机IP。
ADB命令执行无响应 重启ADB服务(adb kill-server && adb start-server);2. 重启手机或电脑;3. 检查ADB工具版本是否过旧,更新包。

相关问答FAQs

Q1:为什么执行adb devices时设备显示“unauthorized”?
A:该提示表示手机未授权当前电脑的ADB调试权限,需在手机屏幕弹出的“允许USB调试”对话框中勾选“始终允许”并点击“确定”,部分品牌手机(如小米)需在开发者选项中额外开启“USB调试(安全模式)”,若未弹出对话框,可尝试更换USB线或重新连接设备。

Q2:如何通过WiFi连接ADB时自动获取手机IP,避免手动输入?
A:可通过ADB命令自动获取手机IP,在手机端执行adb shell ip route | awk '{print $9}'(获取默认网关IP),或直接执行adb shell ifconfig | grep "inet " | grep -v "127.0.0.1" | awk '{print $2}'(获取手机WiFi IP),也可编写Shell脚本自动化操作,

#!/bin/bash
IP=$(adb shell ifconfig wlan0 | grep "inet " | awk '{print $2}' | cut -d ":" -f 2)
adb connect $IP:5555

将脚本保存为adb-wifi-connect.sh,赋予执行权限(chmod +x adb-wifi-connect.sh),后续直接运行即可自动连接。

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

(0)
酷番叔酷番叔
上一篇 1小时前
下一篇 1小时前

相关推荐

  • 在Linux操作系统中,运行APK安装包的具体方法和详细操作步骤有哪些?

    在Linux系统上运行Android应用的APK文件,是许多用户(尤其是开发者和尝鲜爱好者)的需求,由于Linux与Android基于不同的内核(Linux内核与Android的Linux内核虽有同源,但用户空间和运行机制差异较大),直接运行APK需要借助特定的兼容层或模拟环境,目前主流的实现方式包括Andro……

    2025年8月28日
    1600
  • linux计划任务如何设置

    Linux 中,通过编辑 /etc/crontab 或使用 crontab -e

    2025年8月16日
    1300
  • Linux管理员如何运行命令提示符?

    Linux管理员通过命令提示符(Shell)与系统进行高效交互,它是基于文本的界面,管理员可输入命令执行文件管理、进程监控、网络配置、用户权限控制等核心任务,Linux中常用的Shell包括Bash(默认)、Zsh、Fish等,其中Bash(Bourne Again Shell)因其强大的兼容性和丰富的功能成为……

    23小时前
    400
  • Linux线程如何判断是否已退出?

    在Linux系统中,线程是进程内的执行单元,线程退出的判断是线程管理的重要环节,涉及资源释放、状态同步等多方面问题,线程退出的方式多样,对应的判断方法也需根据场景选择,本文将详细分析线程退出的常见方式及判断机制,线程退出的常见方式线程退出可分为主动退出和被动退出两类,主动退出是线程自身决定终止执行,被动退出则是……

    2025年8月23日
    1100
  • Linux下date命令如何快速取整?

    取整到分钟(去掉秒)场景:将当前时间精确到分钟(如 2023-10-05 14:30:00 → 2023-10-05 14:30)方法:date -d "@$(( $(date +%s) / 60 * 60 ))" "+%Y-%m-%d %H:%M"原理:date +%s……

    2025年6月25日
    3600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信