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)
酷番叔酷番叔
上一篇 2025年9月19日 20:03
下一篇 2025年9月19日 20:15

相关推荐

  • 如何设置IP地址和子网掩码?

    在Linux系统中设置IP地址是网络管理的基础操作,可通过多种方法实现,以下是详细步骤及注意事项,涵盖临时配置与永久生效方案:临时设置IP(重启失效)方法1:使用 ip 命令(推荐)# 设置默认网关sudo ip route add default via 192.168.1.1# 修改DNS(需更新/etc……

    2025年6月28日
    13500
  • 如何在Ubuntu 22.04用Samba 4部署AD域?

    核心准备系统要求全新安装的Ubuntu/CentOS(避免端口冲突)固定IP地址(例:168.1.10)主机名规范(例:dc01.linuxad.lan) sudo hostnamectl set-hostname dc01.linuxad.lan时间同步(安装NTP) sudo apt install chr……

    2025年7月29日
    14800
  • Linux查看线程的常用命令和方法有哪些?

    在Linux系统中,线程是进程内的执行单元,多个线程共享进程的资源(如内存、文件描述符等),但拥有独立的栈和程序计数器,查看线程信息对于系统调试、性能优化和问题排查至关重要,Linux提供了多种命令和工具来查看线程,本文将详细介绍这些方法,包括它们的用法、输出解析及适用场景,使用ps命令查看线程ps(Proce……

    2025年9月9日
    11600
  • 如何将linux压缩成iso文件下载

    命令行工具如 mkisofs 将文件系统制作成ISO,再通过

    2025年8月18日
    12500
  • Linux如何查看时间戳?详细操作步骤有哪些?

    在Linux系统中,时间戳是一种常见的时间表示方式,它通常指从1970年1月1日00:00:00 UTC(Unix纪元)开始经过的秒数、毫秒数或微秒数,时间戳广泛应用于日志记录、文件管理、系统调度等场景,掌握查看和转换时间戳的方法对Linux用户和开发者来说至关重要,本文将详细介绍Linux中查看时间戳的多种方……

    2025年9月11日
    11600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信