当前位置: 首页>>技术问答>>正文


‘adb push`命令在12.04上出现’权限不足’错误

ubuntuer 技术问答 , , 去评论

问题描述

当我试图将我的apk文件推入平板电脑时,我收到此错误,请帮帮我。

adb server is out of date.  killing... 
* daemon started successfully * 
error: insufficient permissions for device.

在此先感谢您的帮助。

最佳解决办法

我有时在Ubuntu上看到过同样的错误。一个有效的解决方法是使用sudo命令运行adb。例如,如果您在sdcard上按app.apk,则命令为

sudo adb push app.apk /mnt/sdcard

此外,请确保在应用程序设置(在GingerBread中)或在开发部分(在IceCream Sandwich及更高版本中)中选择了”USB debugging”模式。如果adb已在运行,则应首先使用命令sudo adb kill-server将其终止

希望这会有所帮助。

次佳解决办法

我遇到了同样的问题。添加指示here的udev规则就可以了:

以root用户身份登录,创建一个文件/etc/udev/rules.d/51-android.rules并添加如下所示的行,以便为plugdev组中的任何人授予权限:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"

在此示例中,供应商ID为HTC。您需要使用设备的供应商ID,可以通过运行lsusb并搜索类似的行来获取

Bus 002 Device 009: ID 2a47:9e18

在此示例中,您的供应商ID为2a47,因此您必须将0bb4替换为2a47。因此,正确的行将是:

SUBSYSTEM=="usb", ATTR{idVendor}=="2a47", MODE="0666", GROUP="plugdev"

现在为文件分配读取权限,重新加载udev并重新加载adb守护程序:

sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
adb kill-server
adb start-server

您可能必须断开连接并再次将设备连接到USB端口。

第三种解决办法

Jorch914’s answer on StackOverflow为我解决了这个问题:

Ok So I finally found the problem, apparently on this device you have to set to connect as camera(even after usb debugging is already enabled)

enter image description here

Also this link describes the setting up process

第四种办法

这两个简单的命令为我解决了这个问题:

adb kill-server
adb start-server

请注意,与semi-newbie’s answer不同,我不需要sudo

第五种办法

我刚刚遇到同样的问题,但这是我能够通过它的方式:

  • 你必须通过发出以下命令来杀死现有的adb服务器:adb kill-server(它可能是错的,但是我用AND发出它没有sudo

  • 通过发出以下命令启动具有适当权限的adb服务器:sudo adb start-server

  • 瞧。你可能知道发出你需要的任何命令

不知道你是否知道,但有一个包含adb的包。我之所以提到这一点是因为我注意到你正在引用旧版本的adb。您可以通过在命令行中发出以下命令来安装:sudo apt-get install android-tools-adb

我希望这有帮助。

第六种办法

今天我遇到了insufficient permissions for device错误,即使adb在几分钟之前就按预期工作了。现在我得到:

$ adb devices
List of devices attached 
????????????    no permissions

$ adb shell
error: insufficient permissions for device

在遇到错误之前不久,我已禁用Media device (MTP),因为我认为我不需要使用MTP。但是,似乎USB调试或至少某些adb命令要求启用Media device (MTP)

要在Android 4.4上启用Media device (MTP),请转到:

Settings
Storage
The "..." menu (in the upper right corner)
USB computer connection
Media device (MTP)

禁用MTP时,lsusb显示以下内容:

Bus 002 Device 071: ID [idVendor1]:[idProduct1] Google Inc.

启用MTP后,lsusb显示以下内容:

Bus 002 Device 072: ID [idVendor2]:[idProduct2] [idVendor string]

idVendor和idProduct会根据是否启用MTP而更改。

我不是Android专家,所以上述行为可能特定于我特定的手机型号。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1663.html,未经允许,请勿转载。