Ubuntu adb 报错:no permissions (missing udev rules? user is in the plugdev group)

当Android设备在连接PC进行USB调试时遇到权限问题,可以按照以下步骤解决:1.确认设备已连接并开启USB调试;2.通过`adb devices`命令检查设备状态;3.创建`90-android.rules`文件并设置相应规则,赋予设备权限;4.重启adb服务及udev规则,并重新连接设备。完成上述步骤后,设备将成功连接且无需每次都授权。

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

问题重现:

确认:
    1.Android设备已连接PC
    2.Android设备已打开USB调试

$:adb devices
List of devices attached
ad5b342b no permissions (missing udev rules? user is in the plugdev group); see [http://developer.android.com/tools/device.html]

显示已找到设备 但是没有权限

解决办法:
1.查看自己的Android设备信息

adb start-server
lsusb

显示:

$adb start-server
$lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub 
Bus 001 Device 003: ID 17ef:6099 Lenovo 
Bus 001 Device 002: ID 17ef:608d Lenovo 
Bus 001 Device 033: ID 18d1:4ee7 Google Inc. //android xxx
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

2. 创建设备文件(文件名随便):

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

内容:

SUBSYSTEM=="usb",ATTRS{idVendor}=="18d1",ATTRS{idProduct}=="4ee7",MODE="0666",GROUP="plugdev",SYMLINK+="android",SYMLINK+="android_adb"

其中需要改的信息为:

ATTRS{idVendor}=="第四行ID的左侧数字 我这里是18d1" 
ATTRS{idProduct}=="第四行ID的右侧数字 我这里是4ee7"

3. 重启 abd 服务

sudo udevadm control --reload-rules
sudo service udev restart
sudo udevadm trigger
adb kill-server
adb start-server

4. 确认设备连接成功

$ adb devices
List of devices attached
ad5b342b device

重新关闭USB调试再打开会出现一个弹窗 勾选并确认即可

<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、付费专栏及课程。

余额充值