#ADB01-Interface debugowania Androida, a co to, a na co to komu ? Przykłady, konfiguracja. Plus bonusy.

Reading Time: 6 minutes

No hejka, co tam się z Tobą dzieje? Skąd to zwątpienie? Dlaczego chcesz teraz się poddać, tylko dlatego, że raz czy drugi Ci nie wyszło?

Szybka teoria.

Dobra koniec tego śmieszkowania.
Czym jest ADB ? Rozwinięcie to Adnroid Debug Bridge co na chłopski rozum można rozumieć jako konsola debugowania dla Androida.
ADB to nie jedna rzecz a pakiet narzędzi, dzięki, któremu bedziemy mogli wykonać pewne polecenia.
Przykłady : adb reboot, adb reboot recovery / bootloader itp.

Niestety komercyjnie nie testowałem mobilek, ale z to naprawiałem telefony i tablety z androidem oraz różne mody, także to narzędzie jest mi dobrze znane, w celach nawet wykraczających poza testowanie.

Co trzeba by bawić się ADB ?

Aby zacząć przygodę z ADB, logiczne, że trzeba posiadać jakieś urządzenie z systemem Android. Jeśli masz tylko Jabłko, no to sory jailbreakuj sobie je 😀

Kolejna rzecz to konfiguracja tego urządzenie pod ADB.
Czyli włączenie trybu dewelopera.
Pacjentem u mnie będzie Samsung Galaxy S7. Od razu pokażę, jak włączyć tryb dewelopera.

A więc bierzemy do ręki telefon i w nim przechodzimy następująco :
Ustawienia – > Telefon – informacje – > Informacje o oprogramowaniu – > Numer wersji i wciskamy na ten numer 7 razy będzie nas informować ze np. jeden raz naciśniesz i jesteś programistą jak 6 razy wcisnąłeś.
Aż w końcu się uda, tak jak na screenie. Układ menu zależy też od tego jaką markę telefonu/tabletu czy zegarka posiadamy, bowiem co producent to inne nakładki ale powinno być podobnie.
Ale o tym po opisaniu instalacji adb na komputerze.

Podłaczamy fona do USB i zezwalamy na dostęp.
W międzyczasie ściągamy minimal adb and fastboot tool.
Here – > https://androidmtk.com/download-minimal-adb-and-fastboot-tool wybieramy latesta oczywiście

Odpalamy instalator ja zmieniam sobie ścieżkę by potem mniej klepać w CMD.

I tam na końcu instalatora lauch now czyli zrobi nam po prostu cd w CMD do folderu, gdzie się zainstalowało.

I tak wygląda adb, bo adb obsługujemy przez CMD, pewnie są nakładki jakieś graficzne ale to dla nobków 🙂
Weryfikujemy poprawność instalacji wpisując po prostu adb i enter.

Ej no dobra mamy 21 wiek, spróbujmy czegoś szalonego ADB over WIFI 😀
No może na końcu wpisu.

Zależnie od modelu urządzenia czyli częściej nakładki, musimy dostać się do trybu developerskiego – klikając 8 razy na numer kompilacji oprogramowania.

W numer kompilacji nawalamy aż będzie odpowiednia informacja, że mamy już developera.
U mnie opcje programistyczne pojawiły się w podmenu ustawień – system.
No i sekcja debugowanie odnaleziona włączamy adb.
Podłączamy przez kabel usb do kompa i czasami trzeba zezwalać czy inne takie rzeczy u mnie nie trzeba było nic robić 🙂
Wylistowałem listę urządzeń z interface adb poleceniem adb devices

Zainstalujemy sobie jakąś przykładową aplikację.

Tu sobie zainstalowałem jakiś plik apk prosto za pomocą adb install nazwaplikuapk.apk

Nie dotknij telefonu

Zrzuty wyżej zrobiłem wbudowanym w rom narzędziem do screenshotów. Następnie zrzuty, które widzicie na blogu przesłałem sobie przez FTP.
Ale zrzuty można wygodnie robić przez adb.

Bla bla dalej jest na urządzeniu czyli na karcie pamięci.
Zrzut bez przesyłania z telefonu na komputer, łatwy do zrobienia.

adb exec-out screencap -p > test.png
Plik zapisze się do katalogu adb lub tez możemy określić ścieżkę dla zrzutów przed nazwą

No dobra obrazki są spoko, a co z filmikami ?
Poszukajcie sobie na temat filmików podobna komenda z tym, że trzeba poszukać jak ev. na żywo przekazywać plik do komputera, ale mam coś lepszego nazywa się pipe 🙂
Komenda to :

adb exec-out "while true; do screenrecord --bit-rate=16m --output-format=h264 --size 720x1280 --time-limit 180 -; done" | ffplay -framerate 60 -framedrop -bufsize 16M -
A tak wygląda pipe i nagrany z laptopa gif 😀 ctrl c wychodzimy w cmd z pipa

Z adb można też robić push i pull czyli pobieranie i wysyłanie plików.

Pull i push to tylko kwestia kolejności celu oraz źródła.
pull źródło z telefonu a potem cel gdzie zapisać na komputerze
push co puszujemy od nas a cel gdzie na telefonie

A coś lepszego i do tego nie pokazuje, ale też można kontrolować telefon z poziomu komputera ? I nie jakieś dziwne oprogramowanie ?

Rozwiązanie to scrcpy

https://github.com/Genymobile/scrcpy

Ja pobrałem na windowsa https://github.com/Genymobile/scrcpy/releases/download/v1.12.1/scrcpy-win64-v1.12.1.zip

I nie nadpisałem plików adb, mając nadal otwarte cmd wydajemy polecenie scrcpy i mamy już możliwośc kontrolowania i widzenia androida, wszystko mozemy robić za pomocą myszki i klawiatury 😀

Ten tekst napisałem za pomocą klawiatury, bardzo wygodny jest ten program, screenshoty robimy z aplikacji np. sharexem lub greenshotem.

scrcpy – podsumowanie

Ten program oparty poprzez komunikacje z adb.
Umożliwia naprawdę sporo, np. pokazywanie dotknięć ekranu, rekonfiguracje np. pod słabe urządzenie, skalowanie, nagrywanie filmiku.
Wow on nawet ma synchronizacje schowków, między telefonem a komputerem 🙂
Na linuxie da się też przechwycić dźwięk z dodatkową biblioteką.
I Scrcpy może połączyć się też przez adb over network.
O którym na końcu jako bonus 🙂

ADB over wifi – czyli bez kabli też można

W końcu mamy 21 wiek więc każdy jara się urządzeniami bez kabli.
Z adb możemy robić to samo, potrzebujemy albo programu albo nasz rom to umożliwi. Jak to zrobić ?

Jeśli nie mamy takiej wypasionej opcji jak u mnie, podejrzewam, że nie jest ona standardem u Samunga i mam ją tylko dzięku customromowi.
A więc nie martwcie się, że ja mam a wy nie.
Trzeba ścięgnąć do sklepu google play i pobieramy aplikacje o nazwie : Wifi ADB – Debug Over Air
Link tutaj – > https://play.google.com/store/apps/details?id=com.ttxapps.wifiadb&hl=pl
Lub inną ja sugeruje się popularnością instalacji i oceny.

Dla testów ja wyłącze moje adb przez sieć.

Jednak ta apka wymaga roota.
Wydaje mi się, że bez roota ADB over WiFi nie zadziała, są niby aplikacje które w nazwie mają no root, no need root ale to raczej nie będzie działać.
Zatem wątpię w zabawę adb wifi jeśli nie macie roota.
Są też sposoby na tymczasowego roota, ale co telefon to inne sposoby, więc musicie to poszukać sami.

adb connect ip z portem lub bez

Do tego możemy użyć wcześniej wspomnianego scrcpy bez kabla 😀

Pamiętajcie, używajcie ADB Wifi rozważnie i tylko w bezpiecznej sieci WIFI, bo np. ktoś wam może narobić bidy np. w publicznym wifi bez hasła np. hotspot w pociągu.
Jeśli jesteście podłączeni do WiFi w firmie oraz testujecie właśnie takie urządzenie ADB po WiFi, może okazać się mega wygodną sprawą 🙂
Bez kabla zamiast robić screen-shoty, możecie pokazać od razu np. swojemu liderowi czy programiście, jeśli oczywiście jesteście z nimi w pokoju.

Podsumowanie

Adb to adb linia poleceń do obsługi poleceń zwrotnych oraz wysłanych z/do komputera, telefonu. Wraz z scrcpy to kompletny zestaw do sprawnego testowania urządzeń mobilnych 🙂
Można też używać do innych celów niż testowanie.


Trzymajcie się na tym home office, do następnego wpisu !

Napisz komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.