Когда я попытался вставить файл apk в планшет, я получил эту ошибку, пожалуйста, помогите мне.
adb server is out of date. killing...
* daemon started successfully *
error: insufficient permissions for device.
Заранее спасибо за помощь.
Когда я попытался вставить файл apk в планшет, я получил эту ошибку, пожалуйста, помогите мне.
adb server is out of date. killing...
* daemon started successfully *
error: insufficient permissions for device.
Заранее спасибо за помощь.
Ответы:
Я видел эту же ошибку иногда в Ubuntu. Обходной путь для этого - запустить adb с sudo
командой. Например, если вы app.apk
нажимаете на SDCard, команда будет
sudo adb push app.apk /mnt/sdcard
Также убедитесь, что вы выбрали режим «USB-отладка» в настройках приложения (в GingerBread) или в разделе «Разработка» (в IceCream Sandwich и выше). Если ADB уже запущен, вы должны сначала убить его с помощью командыsudo adb kill-server
Надеюсь, это поможет.
sudo
находит другую установленную версию, adb
чем non-sudo. Вот почему это работает, а не потому, что adb
само по себе требует больше привилегий.
Я столкнулся с этой же проблемой. Добавление правила 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-порту.
plugdev
группы. Беги, id
чтобы узнать.
Ответ Jorch914 на StackOverflow решил эту проблему для меня:
Итак, я наконец нашел проблему, по-видимому, на этом устройстве вы должны установить для подключения в качестве камеры (даже после отладки USB уже включен)
Также эта ссылка описывает процесс настройки
Эти две простые команды решили проблему для меня:
adb kill-server
adb start-server
Обратите внимание, что в отличие от ответа полу-новичка мне не нужен sudo
.
adb shell ls
.
Я просто пробежался по той же проблеме, но вот как я смог ее пройти:
adb kill-server
(это может быть неправильно, но я выдал его с И без sudosudo 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)
было включено.
Чтобы включить 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, поэтому возможно, что описанное выше поведение характерно для моей конкретной модели телефона.
Это может быть из другой причины. Я просто получаю эту ошибку, пытаясь установить 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
У меня была та же проблема, и я получил, что недостаточно разрешений. Что я сделал, так это отменил полномочия USB для моего ноутбука. Затем остановился и начал отладку по USB. Подключил его обратно в ноутбук и предоставил полномочия по отладке USB.
Я столкнулся с той же проблемой, и я решил ее, добавив путь к your_android_sdk_path к переменной окружения, например
sudo export $PATH:/your_android_sdk_path/platform-tools/adb
Это ваше желание, как вы хотите добавить это в свою учетную запись или всю систему, отредактировав этот ~/.bashrc
файл или ~/.profile
или
/etc/profile, /etc/bash.bashrc, or /etc/environment
если вы хотите добавить к общесистемному доступу.
а затем создать ссылку на это в бен
sudo ln -s /your_android_sdk_path/platform-tools/adb /bin/adb
если вы использовали устройства adb или любую команду, то сначала убейте сервер как
adb kill-server
затем запустить сервер как
adb start-server
adb devices
теперь вы можете видеть, что ваши устройства перечислены правильно, без проблем
Ответ на эту проблему здесь: https://github.com/snowdream/51-android
Как разработчик Android, я предлагаю вам не использовать «sudo», чтобы заставить использование adb где-либо. Это не то, что мы должны делать. Правила, политики и ограничения существуют для нашей собственной безопасности.