[Poradnik] Jak zainstalować i korzystać z ADB (Android Debug Bridge)

7 minut czytania
Komentarze
logo adb

W niemalże każdym poradniku związanym z rootowaniem oraz modowaniem autor niejednokrotnie używa frazy ADB. Weterani Androida oraz deweloperzy niemal na co dzień korzystają z ADB (Android Debug Bridge), jednak dla początkującego konsola kojarzy się z czymś złym. Ale czy musi tak być?  Czym tak naprawdę jest ADB i dlaczego warto poznać jego podstawy?

Android Debug Bridge (w skrócie ADB) to nic innego interfejs służący do komunikacji i zarządzania urządzeniem z Androidem na pokładzie z dowolnego komputera przez kabel USB. Pozwala na wykonanie wielu operacji, na przykład kopiowanie plików z, oraz do pamięci urządzenia, instalowanie oraz odinstalowywanie aplikacji, zarządzanie procesami czy też wykonywanie kopii zapasowych, a także wiele innych, zaawansowanych „sztuczek”. W tym wpisie postaram się pokrótce przedstawić podstawy tego wszechstronnego narzędzia.

1. Instalacja środowiska Java oraz Android SDK

Pierwszym zadaniem przed uruchomieniem Android SDK (Software Development Kit – zestawu narzędzi dla deweloperów) jest instalacja środowiska Java. W tym celu musimy udać się na stronę producenta gdzie możemy pobrać plik instalacyjny Java JDK w wersji zgodnej z naszym systemem operacyjnym (x86 – 32 bitowa lub x64 – 64 bitowa).

Java JDK-2

Po przejściu procesu instalacji jesteśmy gotowi do instalacji paczki narzędzi od Google’a. Po przejściu na stronę developer.android.com wybieramy „stand-alone SDK Tools”, co powinno skutkować przeniesieniem na stronę z plikami – w formie instalatora lub też paczki .zip. Niezależnie którą wersję wybierzemy proponuję umieścić folder na głównej partycji C:\.

android-sdk-2

Po udanym procesie instalacji udajemy się do głównego folderu android-sdk i uruchamiamy plik o nazwie SDK Manager.exe. W razie, gdyby po podwójnym kliknięciu program nie chciał się uruchomić (nawet w trybie administratora), należy przejść do folderu \android-sdk\tools i uruchomić skrypt android.bat. Finalnie naszym oczom powinien ukazać się taki oto program:

android-sdk-3

Z listy wybieramy Android SDK Platform-tools oraz instalujemy „paczkę” klikając w prawym dolnym rogu.

2. Włączenie trybu Debugowania

Do podłączenia wymagane jest włączenie trybu debugowania. Opcja ta znajduje się w ustawieniach urządzenia, w sekcji „Opcje deweloperskie” (Developer options), które domyślnie są ukryte. Jednak w bardzo łatwy sposób można je odblokować wykonując poniższe kroki:

1. Przejdź do ustawień telefonu i znajdź pozycję „Informacje o telefonie”,
2. Tapnij 7 razy na ‘Numer kompilacji’ dopóki nie otrzymasz powiadomienia, że jesteś deweloperem,
3. Wróć do ustawień, pojawi się pozycja „Opcje programistyczne” ,
4. W „Opcje programistyczne” zaznacz pozycję „Debugowanie USB”

debugging usb

3. Uruchomienie ADB

Aby uruchomić ADB musimy odnaleźć ścieżkę, gdzie znajduje się plik adb.exe. Jeśli wybrałeś domyślną instalację, to najprawdopodobniej jest on pod adresem:

C:\Users\<nazwa użytkownika>\AppData\Local\Android\android-sdk\platform-tools 

Zawsze można sprawdzić lokalizację folderu android-sdk w Android SDK Manager:

android-sdk-path

Udajemy się pod wskazany adres i przytrzymując klawisz [Shift] wybieramy z menu kontekstowego „Otwórz okno polecenia tutaj”:

android-adb-1

Aby sprawdzić poprawność połączenia USB w okienku konsoli wpisujemy:

ADB devices

Jeśli wszystko działa jak powinno, na ekranie zobaczymy komunikat z listą podłączonych urządzeń (w formie liter i cyfr, nie jako nazwę producenta i model):

android-adb-3

W tym momencie należy zwrócić uwagę na stan. Otóż po „kodzie urządzenia” otrzymamy zawsze ciąg znaków (stan). Jeśli widnieje tam „device„, oznacza to, że urządzenie jest w pełni funkcjonalne i możemy przystąpić do dalszych czynności. W razie stanu „unauthorized” nasz smartfon lub tablet wymaga autoryzacji (należy go odblokować i zaakceptować połączenie, bądź użyć dwóch dodatkowych komend służących do restartowania serwera adb wpisując kolejno „adb killserver” oraz „adb start-server” i ponownie sprawdzić stan, który powinien być tym razem „device„).

Najgorszym przypadkiem jest uzyskanie „offline” bądź „no device„. Pierwszy oznacza problemy z urządzeniem (sterownikiem, kablem USB, ogólnie z łącznością), drugi natomiast sugeruje, że urządzenie nie jest podłączone. W obu tych przypadkach po sprawdzeniu czy faktycznie dobrze podłączyliśmy urządzenie najprawdopodobniej problemem jest sterownik, o instalacji którego traktuje następny „rozdział”.

4. Sterowniki USB dla ADB

Jeśli lista urządzeń okazała się pusta, oznaczać to może, że nasze urządzenie potrzebuje dodatkowych sterowników. Na szczęście Google dostarcza własne sterowniki, które można pobrać bezpośrednio ze strony producenta, lub za pomocą Android SDK Manager (obrazek niżej).

android-usb-driver0

Aby zainstalować brakujące sterowniki należy udać się do „Menedżera urządzeń” (klikając prawym klawiszem myszy na ikonkę „Mój komputer”, bądź w nowszych systemach na znaczek „Windows” i  z menu kontekstowego wybrać odpowiednią pozycję) oraz odnaleźć nasze urządzenie. W zależności od modelu smartfona lub tableta oraz systemu operacyjnego może to różnie wyglądać. W naszym przypadku brakuje sterownika ADB, choć może się zdarzyć, że system nie pokaże nam tego i będziemy musieli odnaleźć nasze urządzenie na liście. Jednak w obu przypadkach procedura instalacji sterownika wygląda tak samo.

1. Z menu kontekstowego wybieramy opcję „Aktualizuj sterownik”

ADB driver1

2. Chcemy ręcznie wskazać miejsce plików, więc wybieramy drugą opcję…

ADB driver2

… a następnie:

ADB driver4

3.  Wskazujemy nasze urządzenie oraz klikamy na „Z dysku”, gdzie wybieramy folder z pobranymi wcześniej plikami, wskazując na „android_winusb.inf”. Jeśli zdecydowałeś się na użycie do tego celu Android SDK Manager, paczka znajduje się w „\android-sdk\extras\google\usb_driver„.

ADB driver5
ADB driver3

4. W ostatnim kroku wybieramy z listy odpowiedni wpis i kończymy cały proces.

ADB driver6

 5. Przykładowe komendy ADB

Po przebrnięciu poprzednich punktów możemy wreszcie przejść do części praktycznej. Pokażę tutaj jedynie kilka przykładów i wyjaśnię co robią najpopularniejsze komendy.

Instalacja aplikacji

Czasami mamy ochotę zainstalować aplikacje w formie plików .apk z zewnętrznych źródeł. Możemy to zrobić tradycyjnie, przekopiowując plik do pamięci telefonu, odblokowanie funkcji zezwalającej na instalację aplikacji z zewnętrznych źródeł oraz w dowolnym (no prawie) eksploratorze plików zainstalować aplikację.

Jednak z poziomu ADB cała ta operacja sprowadza się do jednego wiersza:

adb install <ścieżka_do_pliku>

lub jeśli plik znajduje się w folderze /android-sdk/platform-tools 

adb install <nazwa_pliku>

adb-install-apk

Kopiowanie plików

ADB umożliwia również kopiowanie plików lub też całych folderów w dowolne miejsce w telefonie lub komputerze. Jest to przydatna funkcja, ponieważ po podłączeniu telefonu pod komputer nie widzimy całej zawartości pamięci urządzenia. Przykładowo pokażę jak można przekopiować plik build.prop, który znajduje się w lokalizacji /system/.

W tym celu musimy skorzystać z komendy pull w następujący sposób:

adb pull <lokalizacja_w_telefonie> <lokalizacja_w_komputerze>

adb-pull-build-prop

Niestety lokalizacja ta jest tylko do odczytu, więc bez posiadania uprawnień root nie możemy zmienić uprawnień, a tym samym przywrócić poprawionego pliku na swoje miejsce.

W zamian pokażę jak możemy przekopiować folder z muzyką do pamięci telefonu. Użyjemy komendy push w następujący sposób:

adb push <lokalizacja_w_komputerze> <lokalizacja_w_telefonie>

adb-push-folder

Restart oraz przejście do recovery oraz bootloadera

Z poziomu ADB możemy w dowolnym momencie zrestartować urządzenie, przejść do trybu recovery. Jest to o tyle przydatna funkcja, że możemy skorzystać z tego w każdym momencie, co oznacza, że jeżeli nasz telefon zawiesił się, utknął w tzw. bootloopie czy na logu producenta. Aby skorzystać z tych funkcji używamy jednej z trzech komend:

adb reboot

adb reboot recovery

adb reboot bootloader

adb-reboot

Uruchomienie trybu powłoki (shell)

W trybie ADB możliwe jest zarządzenie urządzeniem oraz systemem Android z poziomu powłoki systemowej (ang. shell). Dzięki shellowi możemy wykonywać wiele zaawansowanych operacji, jednak w tym miejscu jest to raczej w wersji informacyjnej, niż w dydaktycznej. Aby przejść w tryb shell musimy wpisać:

adb shell

lub w wersji:

adb shell <komendy_do_wykonania>

adb-shell

Aby wyjść z shella używamy komendy exit lub kombinacji klawiszy [Ctrl]+[C].

Jeśli jesteś ciekaw co więcej można zrobić przy użyciu ADB oraz powłoki Shell, odsyłam na stronę Google.

Jest to pierwszy (mam nadzieję, że nie ostatni) poradnik z cyklu więc chętnie dowiemy się waszych opinii na ten temat. Mamy nadzieję, że powyższy wpis przyda się początkującym „majsterkowiczom”. Jeśli macie pomysły, sugestie czy uwagi zachęcam do kontaktu mailowego pod adresem kamil.piotrowski[at]android.com.pl

Motyw