AdbCommandRejectedException: niewystarczające uprawnienia dla urządzenia: użytkownik w grupie plugdev; czy twoje zasady udev są złe?

27

Pięć dni temu zainstalowałem Android Studio na w pełni zaktualizowanym Ubuntu 2018.04, użyłem kreatora do stworzenia przykładowej aplikacji, nacisnąłem przycisk „Uruchom” i działał idealnie na moim urządzeniu z Androidem podłączonym przez USB.

Dzisiaj, na tym samym Ubuntu i przy tym samym podłączonym urządzeniu, otworzyłem ten sam projekt i ponownie nacisnąłem „Run”. Teraz nie działa:

Launching Application
$ adb push /home/nico/src/ActionBarCompat-Basic/Application/build/outputs/apk/debug/Application-debug.apk /data/local/tmp/com.example.android.actionbarcompat.basic
com.android.ddmlib.AdbCommandRejectedException: insufficient permissions for device: user in plugdev group; are your udev rules wrong?
See [http://developer.android.com/tools/device.html] for more information
Error while Installing APK

Nie modyfikowałem świadomie żadnej konfiguracji Ubuntu ani nawet nie aktualizowałem systemu operacyjnego.

Co może być problemem?
Jak dalej badać?

Nicolas Raoul
źródło

Odpowiedzi:

40

Ta procedura rozwiązuje problem dla mnie:

  • Na urządzeniu z Androidem przeciągnij górne menu i wybierz „USB do przesyłania plików”
  • Naciśnij ponownie „Uruchom”

Może to być przypadek, ale do tej pory zawsze (około 50 razy) działał.

W najnowszych wersjach Androida nazwa menu i element wyboru nieco się zmieniły, ale nadal działa dla mnie.

Nicolas Raoul
źródło
2
Dzięki! Mi to pasuje. Kiedy wybieram tylko debugowanie USB, nie działa, ale kiedy wybieram transfer plików USB, aplikacja uruchamia się natychmiast.
Pramod Gharu,
16

W skrócie: grupa urządzeń USB rootnie jest plugdev.

Dodanie pliku /etc/udev/rules.d/51-android.rules

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d002", MODE="0660", 
GROUP="plugdev", SYMLINK+="android%n"

( lsusb18d1:d002)

Podłączenie i wyjście wykonało dla mnie pracę. Teraz urządzenie jest w plugdevgrupie.

( źródło )

Użytkownik
źródło
To rozwiązuje problem dla mnie
dmSherazi
6

Otrzymałem podobny błąd z powodu braku konfiguracji reguł udev:

kirk@laptop:~$ adb devices
List of devices attached
FA7240300631    device
FA7240300631    no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]

Byłem w stanie obejść ten problem, uruchamiając:

adb kill-server && adb start-server

ale to wcale nie było idealne. Naprawiłem to, instalując:

sudo apt install android-tools-adb

Który jest utrzymywanym przez społeczność domyślnym zestawem reguł udev.

źródło

kościół
źródło
0

Jak wspomniał jeden z nich, usunięcie kabla USB z laptopa i ponowne podłączenie go załatwiło. (Mogłem włączyć tę USB Debuggingopcję po pierwszym podłączeniu, stąd błąd)

Rocky Inde
źródło