glaedrem

ADB: działanie / funkcje / przykłady

Recommended Posts

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:
 

  1. instalacji aplikacji
  2. kopiowania plików do i z telefonu
  3. restartu telefonu do recovery/bootloadera w każdym momencie
  4. wykonania logcata
  5. operacji na plikach: zmiana nazwy i uprawnień
  6. przeglądania zawartości pamięci telefonu: adb shellADB 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.

Pobierz

(windows installer) lub (SDK i AVD Manager w przypadku paczki .zip)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 bootoaderze: 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

[bt]Kopiowanie plików telefon <-> komputer[/bt]
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.
 

  1. Uruchomienie powłoki shell: adb shellW wyniku dostajemy się do pamięci urządzenia. Standardowo do katalogu root:[email protected]:/ #
  2. 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ń!)
  3. 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.sodf – 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ęci
     
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łady

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

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.