五天前,我在完全更新的 Ubuntu 2018.04 上安装了 Android Studio,使用向导创建了一个示例应用程序,按下“运行”按钮,它在通过 USB 连接的 Android 设备上完美运行。
今天,在同一个 Ubuntu 上,插入同一个设备,我打开同一个项目并再次按“运行”。现在失败了:
Launching Application
$ adb push /home/nico/src/ActionBarCompat-Basic/Application/build/outputs/apk/debug/Application-debug.apk /data/local/tmp/com.example.android.actionbarcompat.basic
com.android.ddmlib.AdbCommandRejectedException: insufficient permissions for device: user in plugdev group; are your udev rules wrong?
See [http://developer.android.com/tools/device.html] for more information
Error while Installing APK
我没有故意修改任何 Ubuntu 配置,甚至没有更新操作系统。
可能存在什么问题?
如何进一步调查?
答案1
此过程为我解决了这个问题:
- 在Android设备上,拖动顶部菜单并选择“USB进行文件传输”
- 再次按“运行”
这可能是偶然的,但到目前为止它总是(大约 50 次)有效。
在最近版本的 Android 中,菜单和选择项的名称稍有改变,但对我来说仍然有效。
答案2
简而言之:USB设备的组是root
,而不是plugdev
。
添加文件/etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d002", MODE="0660",
GROUP="plugdev", SYMLINK+="android%n"
(lsusb
→ 18d1:d002
)
插入和拔出对我来说已经完成了工作。现在,该设备已加入群组plugdev
。
(来源)
答案3
由于未配置 udev 规则,我收到了类似的错误:
kirk@laptop:~$ adb devices
List of devices attached
FA7240300631 device
FA7240300631 no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]
我可以通过运行以下命令来解决这个问题:
adb kill-server && adb start-server
但这根本不理想。我通过安装修复了这个问题:
sudo apt install android-tools-adb
这是社区维护的一组默认 udev 规则。
答案4
正如其中一位提到的,从笔记本电脑上拔下 USB 线并重新连接对我来说很有效。(我可能USB Debugging
在第一次连接后启用了该选项,因此出现错误)