ADB: „no permissions” – Ubuntu 11.10 i nowsze

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!

W poprzednim wpisie zaprezentowaliśmy obejście problemu na następujący błąd:

adam@kubuntu:~$ adb devices
List of devices attached 
????????????    no permissions

Dzisiejszy wpis traktuje o rozwiązaniu tego problemu bez uruchamiania ADB jako root.

1. Otwórz następujący plik w edytorze tekstu

gksudo gedit /etc/udev/rules.d/51-android.rules

Użytkownicy KDE zamiast wytłuszczonej części wpisują kdesudo kate, zamiast gedita możesz użyć innego edytora.

2. Do edytora wklej następujący tekst:

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

Zamiast 1234 wklej identyfikator producenta twojego telefonu.Identyfikatory są podane tutaj:
developer.android.com/guide/developing/device.html#VendorIds.

W przypadku HTC kod producenta to 0bb4, więc wpis będzie wyglądał tak:

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

3. Zapisz i zamknij plik.

4. Nadaj uprawnienia do odczytwania pliku:

sudo chmod a+r /etc/udev/rules.d/51-android.rules

5. Uruchom ponownie udev i ADB:

sudo service udev restart
adb kill-server && adb start-sever
Jeżeli nie dodałeś ADB do zmiennej $PATH to najpierw będziesz musiał przejść do katalogu w którym znajduje się plik ADB

6. Odłącz i podłącz telefon ponownie do portu USB.

Efekt:

adam@kubuntu:~$ adb devices
List of devices attached 
HT998L902715    device

W ten oto sposób ADB nie wymaga już uprawnień roota do działania.

Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • Czeslaw

    tustus@tustus-desktop:~$ adb devices
    No command ‚adb’ found, did you mean:
    Command ‚cdb’ from package ‚tinycdb’ (main)
    Command ‚gdb’ from package ‚gdb’ (main)
    Command ‚dab’ from package ‚bsdgames’ (universe)
    Command ‚zdb’ from package ‚zfs-fuse’ (universe)
    Command ‚kdb’ from package ‚elektra-bin’ (universe)
    Command ‚tdb’ from package ‚tads2-dev’ (multiverse)
    Command ‚pdb’ from package ‚python’ (main)
    Command ‚jdb’ from package ‚openjdk-6-jdk’ (main)
    Command ‚jdb’ from package ‚openjdk-7-jdk’ (universe)
    Command ‚ab’ from package ‚apache2-utils’ (main)
    Command ‚ad’ from package ‚netatalk’ (universe)
    adb: command not found
    tustus@tustus-desktop:~$ sudo apt-get install adb
    [sudo] password for tustus:
    Czytanie list pakietów… Gotowe
    Budowanie drzewa zależności
    Odczyt informacji o stanie… Gotowe
    E: Nie udało się odnaleźć pakietu adb
    tustus@tustus-desktop:~$

    I co dalej. Piszę z 12.04

    • Admc

      ADB nie jest programem który występuje w repozytoriach, skoro o tym nie wiesz zapewniam ci, że nie będzie on ci potrzebny.