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

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.
[AuthorRecommendedPosts]
  • Zoomol

    …na to czekałem – dzięki :)

  • Jaf1

    To się nazywa pomoc!!! W uporządkowany sposób dla każdego. Od tego jest forum i wsparcie dla MIUI. Acid – tak trzymać

  • Jedynie warto było by dodać że można otworzyć CMD (Vista / W7 / W8) wchodząc do folderu android-sdk-windows i klikając w folder platform-tools prawym klawiszem myszy z przytrzymanym klawiszem Shift pojawia się dodatkowo opcja „Open commend window here” – „Otwórz cmd tutaj” (wolne tłum.) . Dobry poradnik i dobrze prowadzona strona :)

    • tenakanyal

      właśnie tego potrzebowałem! dzięki :)

  • Animal

    Bardzo fajny poradnik w przystępnym języku nawet dla kompletnych noobów. Dziękuje!

    • grzybu

      niby dla noobów ale mi nie
      che sie odpalic

      • No prościej jak dla noobow to się nie da.
        Znika okno bo uruchamiasz adb.exe. A tak jest tu napisane? Nie. Musisz w katalogu z adb uruchomić terminal i tam wpisać np adb shell.
        Wysłano z MI-2

  • Pingback: Goozle Zones()

  • Pingback: fingerprint()

  • Pingback: cash advance()

  • Pingback: Otitis Media Treatment()

  • Pingback: cystitis()

  • Pingback: cheap loans uk()

  • Pingback: lawyer()

  • Pingback: new york asian escort()

  • Pingback: ZigZag()

  • Pingback: calaguas tour()

  • Pingback: new york asian escorts()

  • Pingback: Secured homeowner loans()

  • Pingback: Akisi Lighting()

  • Pingback: jfd98ayhcim()

  • Pingback: cigarette electronique()

  • Pingback: Sex Dolls()

  • Pingback: Looking for adult Designer adult toys? We have it all: Sex Toys,Anal Sex Toys,Toys,Male Masturbators and Cock Rings()

  • Pingback: cash loan bad credit()

  • Pingback: bad credit loan UK()

  • Pingback: Criminal Attorney Westchester()

  • Pingback: fsgb80v7cbwe()

  • Pingback: lida zayiflama()

  • Pingback: mallorca companies()

  • Pingback: holly king()

  • Pingback: fileshare()

  • rob

    nic z tego nie wiem
    telefon mój nawet nie chce sie odpalić,nowa sztuka,ładowarka i bateria sprawne a nie chce odpalić

  • grzybu

    niemoge odpalic adb pojawia sie i znika odrazu

  • HTC

    czy jest sposób na wybudzenie telefonu tym programem lub jakimś innym. Wiem, że jest wszystko sprawne poza przyciskiem power przez co nie mogę uruchomić debugowania, ani w ogóle telefonu, macie jakieś pomysły na to ?

  • Michał

    Jest jakiś sposób żeby przez ADB zaflashować CID i kernel? Zdechł mi telefon po wymazaniu CID i próbie wgrania innego kernela. Jedyne co mogę to wejść w fastboot. :(

    • No jeśli w fastboot to musisz z SDK google użyć binarki fastboot. Jest ona obok adb.
      I wtedy komenda na flash kernela to „fastboot ”

      Przejdź do bootloadera:
      „adb reboot bootloader” – jeśli komenda nie zadziała to ręcznie.

      Potem sprawdź czy urządzenie jest wykrywane w fastboot na kompie:
      „fastboot devices”

      I jeśli tak to flash kernela boot.img który masz w tym samym katalogu co fastboot:
      „fastboot flash boot boot.img”

      I na końcu:
      „fastboot reboot”

  • damian5602

    A czy przez fastboot flash boot wgram system?
    Jeżeli tak to skąd wziąć pliki o rozszeżeniu img?

    • Tak, ponieważ fastboot może robić flash na dowolną partycję.

      Wpisz w terminal samo „fastboot” a zobaczysz help.

      fastboot flash [ ]

      Czyli np. fastboot flash system system.img.
      Tylko musisz mieć system.img. A to mają raczej tylko systemy stock producenta, które mogą być flashowane przez fastboot (np. romy HTC w .exe).

      • damian5602

        Nie wiem nadal skąd wsiąść img mam lg l5

        • A do czego w ogóle to jest potrzebne? Przecież w praktyce nie ma w ogóle powodu by używać fastboot do wgrywania systemu.
          Jesli masz root i recovery to szukasz romów w .zip (custom rom).
          Natomiast jak chcesz wgrać ponownie system oryginalny od LG to musisz poszukać jakiegoś programu od LG do instalacji firmware.

          • damian5602

            Tylko że ja mam uwalony bootimages i system ale gdy normalnie włączę to czyta mi telefon w adb ale nie działa ekran poprawnie i resetuje go do bootloadera i chcę przez fastboota wgrać system.

  • Kamil Mączko

    a co mam zrobic jezeli wlacza mi sie telefon i staje na logu producenta telefonu i nie chce mi sie juz dalej uruchomic jak mam za pomoca adb ominac ten blad?

    • Jeśli adb devices widzi wtedy urządzenie to pomoże adb reboot recovery (wrócisz do recovery). Jeśli adb devices nie widzi urządzenia (a tak może być jeśli stoi na logu ale przed bootanimacją) to może być problem. Tylko przecież jak coś to wyłącz telefon i wejdź do recovery przez kombinację klawiszy – to zawsze działa.

      • Kamil Mączko

        wchodzilem ale nic nie dalo i recovery mi sie nie wlacza a podpinajac kompa wgl mi nie znajduje telefonu ADB :/

        • Karol K.

          Mam dokładnie, to samo co Kamil, nie potrafię tego przeskoczyć. Pomoże ktoś?

          • Jeśli nie da się wejść w Recovery nawet kombinacją klawiszy to kaplica. Wtedy pozostaje flash oprogramowania producenta przez tryb fastboot np MiFlash dla Xiaomi.

          • Karol K.

            Mogę wejść w bootloader kombinacją klawiszy, w fastboot pojawia się „FASTBOOT USB”.
            Factory Reset z tego poziomu nic nie daje, telefon po reboocie zawiesza się na logo HTC.
            Jak wchodzę w zakładkę Recovery, to odpala się ClockworMod Recovery v6.0.4.8. Jak wybiorę wipe data/factory reset, dostaję error mounting /storage/sdcard0.android_secure, Skipping Format, Data Wipe Complete. Reboot – zawieszka na logo. Moount sdcard też nic nie daje.

            HTC ONE S

            *** TAMPERED ***
            *** UNLOCKED ***
            VLE PUT SHIP S-ON RL
            HBOOT-1.14.0004
            RADIO-1.08.ts50.02.16
            Open DSP-v29.1.0.45.0622
            eMMC-boot

  • Baniak

    Jakie recovery ma standardowo włączone debugowanie w sgs. Bo potrzebuję odzyskać dane a neistety mam rozwalony ekran….

  • TRS

    Witam. Znasz może komendę do wyłączenia i włączenia transmisji danych?

  • Maciej Iwańczyk

    Witam! Mam pewien problem. Root’owałem urządzenia za pomocą chińskiej aplikacji Root Master. Ta aplikacja nie zainstalowała Super User tylko jakiś chiński odpowiednik normalnie mi to w niczym nie przeszkadzało, ale teraz jak chciałem wejść do adb shell to wyświetlił się znaczek „$” wpisałem „su” i oczywiście nie działa. Potom spróbowałem „rm” (Root Master) wyświetlił się jakiś napis, ale i tak jest „$”. Proszę o pomoc!

    • Wiesz ten temat jest dosyć konkretny i wymaga chociaż minimum wiedzy i poświęcenia by to ogarnąć. Dlatego jak już coś piszesz to pisz konkretnie: co się wyświetliło, jak, jaki telefon. Prosisz o pomoc ale gwarantuję, że nikt nie pomoże.

      Poza tym wpisujesz rm w konsoli?
      Bezsens bo rm jest poleceniem shell w linuxie jako Remove.
      Np. „rm -f /system/app/Browser.apk”

  • iksdee

    htc one m8 miui 5.5.15 same błędy :( … w połowie przetłumaczony interface zatrzymuje się co chwile zegar seciurity data coś tam kit z tymm jak mam wgrać google play albo chociaż działąjący google services żeby otworzyć snapa? albo chrome xd p’rzydało by się zamiast czarnego ekranu boot logo „mi” czasami się pojawia … thx @Acidd:disqus ;3

    • A czy wiesz…, że nie masz po co mi dziękować?? Skoro nie mam z tym romem nic wspólnego co? Nie ja go robię, nie ja go tłumaczę. Na MIUIPolska wspieramy telefony Xiaomi nie HTC.
      Jak chcesz mieć polski rom MIUI bierz Xiaomi i tyle.

      • iksdee

        ;-;

      • iksdee

        jest stronka do pomocy w tłumaczeniu?

        • Nie ma. Nie istnieje takie coś. Bo to ja tłumaczę MIUI. Ale dla telefonów Xiaomi.
          Można próbować w jBart ale i tak moje repo jest prywatne…

          • iksdee

            a romy z jakiego smartfona jeszcze pójdą? na m8? nwm gdzie to znajde

          • A co Sense jest be? Przecież ma nawet Androida 5.0. Kupujesz HTC między innymi dla Sense. A tu zmieniać chcesz na MIUI bez sensu. MI4 ma fabrycznie prawie takie same podzespoły a ma domyśnie MIUI bez kombinowania. Warto było?

            Natomiast na M8 prócz Sense jest jeszcze AOSP czyli goły Android.
            Choćby dedykowana wersja Google Play Edition.

          • iksdee

            tak jest be a android L ma więcej wad niż 4.4 … pytałem tylko z jakiego telefony pójdą a nie co ty o tym sądzisz a ten głupi telefon dostałem ;-;

          • Głupi? Kiedyś po Mi3 chciałem kupić sobie coś nie Xiaomi i właśnie rozważalem tylko HTC M8 z nakładką Sense bo mi się zawsze podobał. Dostałem Mi4 i wiadomo ale sentyment do M8 został. Masz dobry telefon z dobrym systemem i nie masz powodu by go zmieniać. Sense jest fabryczny Dla HTC tak jak MIUI dla Xiaomi.

          • iksdee

            uparty jak osioł ;-;

          • iksdee

            miałem sgs 3 to też zmieniałem był nawet ubuntu touch ;-; miałem sgn2 też zmieniałem ale to dawno było :/

          • Kup w końcu jakiegoś Xiaomi. Nie rozumiesz tego co ci już wytłumaczyłem: HTC ma Sense, Samsung ma Touch WIZ a Xiaomi ma MIUI. Apple ma iOS. Tak?
            Na m8 gdzieś na xda jest jakiś port. Poszukaj sobie i tyle. Ale polskiego tam nie ma.

          • iksdee

            pytałem z jakiego smartfona romy mi pójdą ;-; nie prosiłem o twoją opinie

          • Z żadnego…

          • iksdee

            jebany złom ;-;

          • Możesz mi oddać.

    • iksdee

      gapps zainstalowałem ale błędów 3 razy tyle ;-;

  • Mateusz

    Czy ktoś może mi powiedzieć jak wylączyc automatuczna aktualizacje miui global? Korzystam z Redmi note 3 pro, z gory dziekuje

  • Robert kaczmarek

    htc one m7, jeśli telefon nie ma systemu, ale działa wgrane recovery to można w jakiś sposób przy bootloader wgrać plik na telefon?

    Usunąłem zawartość telefonu teraz nie wiem jak wgrać na niego system.