ubuntu环境下adb 连不上,报错:no permissions (user in plugdev group; are your udev rules wrong?)

当adbdevices命令显示设备无权限时,可以通过lsusb获取设备的VID和PID,然后在/etc/udev/rules.d/51-android.rules文件中添加规则,并赋予文件适当权限。如果仍无法识别,需在~/.android/adb_usb.ini中添加设备VID并重启adb服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

adb devices 显示没有权限
在这里插入图片描述

解决方法:

1.lsusb
在这里插入图片描述

我这边的是Bus 001 Device 082: ID 05c6 : 90cb Qualcomm, Inc.

其中idVendor为设备的VID,idProduct为设备的PID

2.添加

sudo vim /etc/udev/rules.d/51-android.rules

打开文件后 添加一行:

在这里插入图片描述

ID 05c6就是idVendor ,90cb就是 idProduct

3.更改文件权限,使其生效:

sudo chmod a+r /etc/udev/rules.d/51-android.rules

sudo udevadm control --reload-rules

sudo service udev restart

4.如果输入adb devices后还是没有找到该设备,则:

在 ~/.android/adb_usb.ini文件中添加设备的VID,如0x05c6(注意0x表示十六进制,与VID直之间不能有空格)

重启adb:
  adb kill-server
  adb devices

<think>嗯,用户问的是如何在Linux系统中配置和使用ADB工具。首先,我需要回忆一下关于ADB在Linux下的安装步骤。根据引用[1],在大多数Linux发行版如Ubuntu和Debian中,可以直接用包管理器安装ADB。所以应该建议用户使用sudo apt install adb命令。不过可能还需要添加一些步骤,比如确认包名称是否正确,因为有时候包名可能不是adb而是android-tools-adb。 接下来是配置udev规则,这部分引用[4]提到需要修改/etc/udev/rules.d/70-android.rules文件,并设置权限。用户可能需要获取设备的vendor ID,可以通过lsusb命令查看连接的设备。然后添加对应的规则,确保普通用户也能访问设备。这一步很重要,否则用户可能需要每次都用sudo来运行adb命令。 然后是使用ADB的基本命令,比如adb devices查看设备是否被识别。如果设备未授权,可能需要检查USB调试模式是否开启。引用[2]提到在两个Linux设备通过USB连接时,如何在A设备上使用adb shell访问B设备,这可能涉及到设备间的通信设置,但用户的问题可能更基础,先解决单设备连接的问题。 常见问题方面,如果adb devices找不到设备,可能需要检查USB连接、udev规则是否正确,或者重新启动adb服务。引用[3]解释了adb的架构,client、server和daemon的关系,如果出现问题,可能需要杀死server再重新启动。另外,权限问题也是常见的,特别是udev规则配置错误的话。 用户可能需要的问题包括安装后的验证步骤,如何调试连接问题,或者高级用法如无线调试。不过根据用户当前的问题,主要集中在配置和使用,所以相关问题可以涉及安装方法、设备连接失败处理、无线连接配置,以及多设备管理。 需要确保步骤清晰,分点说明,同时引用正确的参考文献。例如,安装步骤引用[1],配置udev引用[4],基本命令引用[2]和[3]。可能还需要提醒用户不同发行版的差异,比如基于Arch的系统使用pacman安装。 最后,确保回答结构清晰,逐步引导用户完成安装、配置、使用,以及常见问题的解决,这样用户能一步步操作,避免遗漏关键步骤。</think>### Linux环境ADB工具的配置与使用指南 #### 一、ADB安装方法 1. **通过包管理器安装** 在基于Debian/Ubuntu的系统中,执行以下命令: ```bash sudo apt update sudo apt install android-tools-adb ``` 对于Arch Linux系统: ```bash sudo pacman -S android-tools ``` [^1] 2. **手动安装ADB工具包** 若包管理器不可用,可从Android官网下载[Platform-Tools](https://developer.android.com/studio/releases/platform-tools)并解压: ```bash unzip platform-tools-latest-linux.zip sudo cp -r platform-tools /usr/local/ export PATH=$PATH:/usr/local/platform-tools ``` [^4] --- #### 二、设备连接配置 1. **配置USB调试权限** 创建udev规则文件: ```bash sudo nano /etc/udev/rules.d/51-android.rules ``` 添加以下内容(替换`0bb4`为设备VendorID): ```bash SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" ``` 刷新规则并重启服务: ```bash sudo udevadm control --reload sudo service udev restart ``` --- #### 三、ADB基础操作 1. **设备连接验证** ```bash adb devices ``` 成功连接显示类似: ``` List of devices attached ABCDEF123456 device ``` 2. **常用指令示例** - 安装APK文件:`adb install app.apk` - 进入设备Shell:`adb shell` - 文件传输: ```bash adb push local_file /sdcard/ adb pull /sdcard/remote_file . ``` [^3] --- #### 四、进阶功能配置 1. **无线调试模式** ```bash adb tcpip 5555 adb connect 192.168.1.100:5555 ``` 2. **多设备管理** 指定设备执行命令: ```bash adb -s ABCDEF123456 shell ``` --- #### 五、常见问题解决 | 问题现象 | 解决方案 | |---------|----------| | `no permissions`错误 | 检查udev规则配置,执行`sudo chmod a+rx /etc/udev/rules.d/51-android.rules`[^4] | | 设备未显示 | 重启ADB服务:`adb kill-server && adb start-server` | | 无线连接超时 | 确保设备与PC在同一局域网,防火墙开放5555端口 | ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值