问题描述
当我试图将我的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)
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专家,所以上述行为可能特定于我特定的手机型号。