ADB: działanie / funkcje / przykłady – dla wszystkich

Dostarczaniem sprzętu potrzebnego do testowania najnowszych softów dla użytkowników MIUIPolska zajmuje się firma ILTRADE z Warszawy.
ADB: działanie / funkcje / przykłady – dla wszystkich

Temat tego poradnika obejmuje wykorzystanie ADB (Android Debug Bridge) do podstawowych czynności związanych z kontrolą naszego telefonu z poziomu PC. ADB wykorzystamy m.in. do:

  • instalacji aplikacji
  • kopiowania plików do i z telefonu
  • restartu telefonu do recovery/bootloadera w każdym momencie
  • wykonania logcata
  • operacji na plikach: zmiana nazwy i uprawnień
  • przeglądania zawartości pamięci telefonu: adb shell

ADB jest narzędziem z pakietu Android SDK służącym do komunikacji z emulatorem Androida lub telefonem z tym systemem. Po połączeniu naszego telefonu do PC przez USB będziemy mogli wykonać wiele przydatnych nam czynności. Poradnik ten polecam przeczytać każdemu, nawet początkującym.

Instalacja ADB

Instalacja odbywa się przez pobranie i uruchomienie na naszym komputerze SDK Androida. Wcześniej warto zaopatrzyć się w Java JDK.

Aktywacja debugowania USB w telefonie
By nasz komputer zobaczył podłączony telefon z działającym trybem ADB należy włączyć Debugowanie USB: Ustawienia > Opcje programistyczne > Debugowanie USB

Uruchomienie konsoli ADB
Po instalacji Android SDK Platform-tools w katalogu C:\android-sdk-windows\platform-tools powinno się znaleźć narzędzie .exe to uruchomienia ADB.

ADB można uruchomić klasycznie tzn. włączając w Windows konsolę CMD:
Uruchom > CMD
Nawigować do katalogu z platform-tools:
cd C:\android-sdk-windows\platform-tools
ADB uruchamiamy poleceniami poprzedzonymi prefixem „ADB”
Sprawdzamy poprawność działania ADB:
adb devices
Zwrócenie nam ID podłączonego telefonu potwierdza prawidłowe połączenie:
List of devices attached
303347BA7A9F00EC device

ADB – funkcje

Restart do recovery/bootloadera
ADB umożliwia restart urządzenia do recovery w dowolnym momencie – podczas pracy systemu lub nawet podczas uruchamiania. Możemy także zrestartować telefon gdy po instalacji pliku w recovery dostajemy bootloop, a telefon stoi na logu producenta lub animacji startowej.

Ponowne uruchomienie telefonu:adb reboot

Uruchomienie w recovery:adb reboot recovery

Uruchomienie w booloaderze:adb reboot bootloader

Instalacja aplikacji

Jeśli chcemy zainstalować aplikację możemy plik .apk umieścić w katalogu z adb, w przeciwnym razie będziemy wpisywać dodatkowo ścieżkę do aplikacji na naszym dysku:

Instalacja .apk
adb install aplikacja.apk
adb install C:\sciezka_do_pliku\aplikacja.apk

Kopiowanie plików telefon komputer

Za pomocą ADB możemy w prosty sposób skopiować zawartość telefonu na komputer lub wgrać na telefon pliki:

Kopiowanie z telefonu:
adb pull /system/app/Browser.apk C:\temp
adb pull /sdcard/plik.txt

Kopiowanie na telefon:
adb push C:\temp\plik.apk /data/local
adb push plik.apk /sdcard

W przypadku kopiowania do /system/app wymagane będzie zamontowanie partycji system do zapisu:
adb remount

Logcat

O logcacie napisałem obszerny poradnik: Poradnik: Jak zrobić logcat? także nie ma sensu opisywać tutaj wszystkiego.

Logcat z zapisem do pliku:
adb logcat > log.txt
Ctrl+C by powrócić

ADB – Shell
Uruchamiając ADB Shell mamy dostęp do pamięci telefonu z poziomu tekstowego (konsoli). Może nam to posłużyć do wykonania prostych operacji na plikach czy uruchomienie funkcji powłoki linuxa na Androidzie.

Uruchomienie powłoki shell:adb shell

W wyniku dostajemy się do pamięci urządzenia. Standardowo do katalogu root:[email protected]:/ #
Znak zachęty „#” informuje nas o dostępie z prawami root. W przypadku pojawienia się znaku zachęty „$” wpisujemy jeszcze komendę „su” by dostać prawa root (ale tylko dla zrootowanych urządzeń!)

Shell
Będąc w powłoce shell możemy wykonywać inne polecenia do operacji na plikach

ls – listowanie plików
ls /system/app
Zwraca zawartość katalogu /system/app (lista plików). Prametr „-l” listuje ze szczegółami.

cp – kopiowanie, rm – usuwanie, mv – zmiana nazwy/przeniesienie
cp plik sciezka
cp -r katalog sciezka
rm plik
rm -r katalog
mv plik1 plik2
mv /data/local/plik /sdcard/plik

Parametr „-r” kopiuje/usuwa z katalogami

chmod – zmiana uprawnień do plików
chmod 0644 /system/lib/jakisplik.so

df – użycie dysku (pamięci w telefonie)
df
Dzięki temu sprawdzimy jakie mamy punkty montowania na telefonie, jaką mają pojemność i ilość wolnej przestrzeni.

proc/meminfo – użycie pamięc
cat /proc/meminfo
Pokazuje m.in ilość przydzielonej/dostępnej pamięci RAM

Np:
MemTotal: 411244 kB
MemFree: 11664 kB

Wyjście z shell
exit

Praktyczne przykładu

Będę tutaj uzupełniał przykłady na działania w ADB, które zbieram ze strony czy forum. Może komuś się przyda.

Podmiana aplikacji Camera.apk z /system/app na inną
Zakładam, że dysponujemy plikiem Camera.apk do podmiany w katalogu z ADB (nie muszę wpisywać ścieżki w windows)

Komendy jedna po drugiej:
adb remount
adb push Camera.apk /system/app
adb shell
cd /system/app
chmod 0644 Camera.apk
exit

Edycja pliku build.prop
Skopiowanie pliku na komputer, edycja i ponowne skopiowanie na właściwe miejsce.
Najlepiej jest zrobić to będąc w recovery – wtedy zmiany zastosują się przy ponownym uruchmieniu.
Gdyby nie działało polecenie montowania systemu z adb to można zawsze wybrać stosowną opcję w ustawieniach recovery (Menu > Mounts)

adb reboot recovery
adb shell mount /system
adb pull /system/build.prop

Edycja pliku…

adb push build.prop /system/build.prop
adb shell
cd system
chmod 0644 build.prop
exit

cdn…

Naczelny tłumacz MIUI na język polski. To od niego wszystko się zaczęło. Współtwórca MIUIPolska.pl i Xiaomi.eu. Prowadzi serwis Xiaomi MiCenter.