'Insufficient permissions' error on `adb push` command on 12.04
Solution 1:
I ran into this same problem. Adding a udev rule as indicated here did the trick:
Log in as root, create a file /etc/udev/rules.d/51-android.rules
and add a line like this to give permissions to anyone in the plugdev
group:
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
In this example, the vendor ID is HTC. You need to use the vendor ID for your device, which can be obtained by running lsusb
and searching for a line like
Bus 002 Device 009: ID 2a47:9e18
In this example your vendor ID would be 2a47
, so you would have to replace 0bb4
with 2a47
. The correct line would thus read:
SUBSYSTEM=="usb", ATTR{idVendor}=="2a47", MODE="0666", GROUP="plugdev"
Now assign read permissions on the files, reload udev and reload the adb daemon:
sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
adb kill-server
adb start-server
You may have to disconnect and connect again your device to the USB port.
Solution 2:
Jorch914's answer on Stack Overflow solved this issue for me:
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
Solution 3:
I've seen this same error sometimes on Ubuntu. A working workaround for this is running adb with sudo
command. For example, if you're pushing app.apk
on sdcard the command would be
sudo adb push app.apk /mnt/sdcard
Also, be sure you selected "USB debugging" mode in the Application settings (in GingerBread) or in Development section ( in IceCream Sandwich and above). If adb is already running, you should first kill it with the command sudo adb kill-server
Hope this will help.
Solution 4:
These two simple commands solved the problem for me:
adb kill-server
adb start-server
Note that unlike semi-newbie's answer I don't need sudo
.