12.04 版中“adb push”命令出现“权限不足”错误

12.04 版中“adb push”命令出现“权限不足”错误

当我尝试将我的 apk 文件推送到平板电脑时,出现此错误,请帮助我。

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

先谢谢您的帮助。

答案1

我遇到了同样的问题。按照指示添加 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,因此您必须将其替换0bb42a47。因此,正确的行应为:

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 端口的连接,然后重新连接。

答案2

Jorch914 在 Stack Overflow 上的回答为我解决了这个问题:

好的,我终于找到了问题,显然在这个设备上你必须设置为相机连接(即使已经启用 USB 调试)

在此处输入图片描述

此链接描述设置过程

答案3

我有时在 Ubuntu 上看到同样的错误。一个可行的解决方法是使用sudo命令运行 adb。例如,如果你正在推送到app.apksdcard,命令将是

sudo adb push app.apk /mnt/sdcard

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

希望这会有所帮助。

答案4

我刚刚遇到了同样的问题,但我解决该问题的方法如下:

  • 您必须通过发出以下命令来终止现有的 adb 服务器:(adb kill-server这可能是错误的,但我发出时带有且不带有 sudo
  • 通过发出以下命令以适当的权限启动 adb 服务器:sudo adb start-server
  • 瞧。你可能知道发出你需要的任何命令

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

我希望这有帮助。

相关内容