'Недопустимая ошибка при добавлении команды adb push на 12.04

45

Когда я попытался вытащить свой файл apk в планшет, я получил эту ошибку, пожалуйста, помогите мне.

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

Заранее благодарим за помощь.

    
задан Neha Sharad Umachigi 24.01.2013 в 06:39
источник

9 ответов

14

Я иногда видел ту же ошибку на Ubuntu. Рабочим решением для этого является выполнение adb с помощью команды sudo . Например, если вы нажимаете app.apk на sdcard, команда будет

sudo adb push app.apk /mnt/sdcard

Кроме того, убедитесь, что вы выбрали режим «Отладка USB» в настройках приложения (в GingerBread) или в разделе «Разработка» (в IceCream Sandwich и выше). Если adb уже запущен, вы должны сначала убить его командой sudo adb kill-server

Надеюсь, это поможет.

    
ответ дан Anwar 24.01.2013 в 08:35
источник
49

Я столкнулся с этой проблемой. Добавление правила udev, как указано здесь , сделало трюк:

Войдите в систему под именем root, создайте файл /etc/udev/rules.d/51-android.rules и добавьте такую ​​строку, чтобы предоставить разрешения кому-либо из группы plugdev :

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

В этом примере идентификатор поставщика - HTC. Для вашего устройства необходимо использовать идентификатор поставщика, который можно получить, запустив lsusb и выполнив поиск строки, например

Bus 002 Device 009: ID 2a47:9e18

В этом примере ваш идентификатор поставщика будет 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.

    
ответ дан user84207 23.09.2013 в 20:39
11

Jorch914's ответ на этот вопрос в StackOverflow решил эту проблему для меня.

  

Хорошо Итак, я, наконец, нашел проблему, видимо, на этом устройстве вам нужно установить соединение как с камерой (даже после того, как отладка USB уже включена)

     

     

Также эта ссылка описывает процесс настройки

    
ответ дан kas 20.11.2016 в 02:13
10

Я просто просматриваю одну и ту же проблему, но вот как я смог ее протестировать:

  • вы должны убить существующий сервер adb, выпустив следующую команду: adb kill-server (это может быть неправильно, но я выпустил ее с AND без sudo
  • запустите сервер adb с соответствующими разрешениями, выпуская: sudo adb start-server
  • вуаля. вы можете знать, какие команды вам нужны.

Не знаете, знаете ли вы, но есть пакет, включающий adb. Я упоминаю об этом, потому что заметил, что вы получаете ссылку на старую версию adb. Вы можете установить, выпустив в командной строке следующее: sudo apt-get install android-tools-adb

Надеюсь, это поможет.

    
ответ дан semi-newbie 23.09.2013 в 22:04
10

Эти две простые команды решили проблему для меня:

adb kill-server
adb start-server

Обратите внимание, что в отличие от ответа полуновости ... Мне не нужен sudo .

    
ответ дан Nicolas Raoul 02.10.2014 в 10:47
1

Сегодня я столкнулся с ошибкой 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) было включено.

Чтобы включить Media device (MTP) в Android 4.4, перейдите к:

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, поэтому возможно, что описанное выше поведение специфично для моей конкретной модели телефона.

    
ответ дан mpb 16.11.2016 в 00:32
0

Это может быть по другой причине. Я просто получаю эту ошибку, пытаясь установить apk на устройство:

$ adb install platforms/android/build/outputs/apk/android-armv7-release.apk 
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
error: insufficient permissions for device
- waiting for device -

Это произошло потому, что устройство не было готово в правильном режиме. Устройство делилось своей связью 4G через USB.

Это можно так сказать:

$ adb devices -l
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *

33332EF19F3D00EC       no permissions usb:1-1.2

Таким образом, этого было достаточно, чтобы отключить общий доступ к телефону на телефоне и начать снова.

В общем, убедитесь, что вы получили следующий результат с помощью команды adb device , прежде чем пытаться нажимать файлы на устройстве

$ adb devices -l
List of devices attached
33332EF19F3D00EC       device usb:1-1.2

В этих случаях нет необходимости убивать или перезапускать сервер adb.

Вероятно, будет такая же ситуация, если вы подключили устройство к передаче данных через USB

    
ответ дан Rémi B. 17.11.2015 в 22:38
0

У меня была такая же проблема и я получил недостаточные разрешения. То, что я сделал, было отменой полномочий USB для моего ноутбука. Затем остановилась и началась отладка USB. Подключите его обратно к ноутбуку и предоставили полномочия отладки usb.     

ответ дан Les Labbauf 18.11.2016 в 00:59
0

У меня одна и та же проблема, и я решил это Добавление пути к вашему_android_sdk_path к переменной среды, например

sudo export $PATH:/your_android_sdk_path/platform-tools/adb

ваше желание, как вы хотите добавить это в свою учетную запись или в систему, отредактировав файл ~/.bashrc или ~/.profile или /etc/profile, /etc/bash.bashrc, or /etc/environment , если вы хотите добавить к системному доступу.

, а затем создайте ссылку на это в bin

sudo ln -s /your_android_sdk_path/platform-tools/adb /bin/adb

, если вы использовали устройства adb или любую команду, тогда сначала запустите сервер, например

adb kill-server

затем запустите сервер, например

adb start-server
adb devices

теперь вы можете видеть, что ваши устройства перечислены правильно без проблем

    
ответ дан Naval Kishor Jha 04.07.2017 в 07:20