Menu

Dalších 13 ADB příkazů, jimiž ovládnete svého Androida

13_adb_prikazu_ico

Protože se článek o jedenácti užitečných ADB příkazech, kterými můžete s telefonem či s tabletem provádět celou řadu věcí, setkal s výraznou čtenářskou odezvou, připravili jsme pro vás pokračování, v němž si představíme dalších třináct ADB příkazů a jejich parametrů. V závěru vám navíc ukážeme, jak se můžete k telefonu nebo tabletu s Androidem připojit s ADB přes Wi-Fi.

Co přinesl minulý díl

V první řadě jsme si vysvětlili, co to vlastně ADB je a jak si nainstalujete potřebné aplikace a nástroje, abyste s ním mohli pracovat. Poté jsme si prošli jedenáct ADB příkazů.

Seznam ADB příkazů z předchozího dílu

Co vám ukážeme v tomto díle?

adb help – voláme nápovědu!

Dnešní přehled ADB příkazů zahájíme povelem adb help je takovou první pomocí v nouzi. Vypíše na obrazovce všechny příkazy a jejich parametry.


adb version – jakou verzi požíváte?

Příkaz adb version po odeslání napíše, jakou verzi ADB aktuálně používáte. Jak můžete vidět na snímcích obrazovky, v našem případě je to Android Debug Bridge version 1.0.32.


adb bugreport – další cesta, jak zachytit chyby

Příkaz adb bugreport vypíše na obrazovce protokoly dumpsys, dumpstate, a Logcat za účelem nalezení respektive ohlášení chyb. Parametrem >, následovaným názvem souboru, nasměrujete výpis místo na obrazovku do textového souboru. Příklad: adb bugreport>bugreport.txt.


adb jdwp – seznam dostupných JDWP procesů

Příkaz adb jdwp vypíše seznam dostupných JDWP (Java Debug Wire Protocol – protokol používaný pro komunikaci mezi JDB a aplikacemi) procesů na daném zařízení. Využijeme, pokud se chceme připojit k aplikaci, která běží uvnitř Dalvik VM. ADB překlene mezeru mezi aplikací a vývojářským/ladícím prostředím. Dalvik VM vytvoří vlákno JDWP pro každou aplikaci, aby se vývojář mohl připojit na určité porty/ID procesu. ID laditelných procesů zjistíte právě příkazem adb jdwp, který vrátí seznam aktuálně aktivních JDWP procesů.

adb forward – přesměrování portů

V seznamu ADB příkazů nesmí chybět adb forward přesměruje zadaný místní port na určený vzdálený port v instanci emulátoru/zařízení. Slouží k předávání požadavků na konkrétní port hostitele jinému portu instance emulátoru/zařízení. Například příkaz adb forward tcp:5900 tcp:5900 přesměruje port VNC serveru z Androidu do PC. Další ukázka: adb forward tcp:6100 tcp:7100 – v tomto případě dojde k přesměrování portu hostitele 6100 na port 7100 emulátoru.

Možnosti příkazu adb forward jsou:

  • tcp:<číslo portu>
  • local:<jméno socketu>
  • dev:<název zařízení>
  • jdwp:<identifikátor procesu>

adb ppp – komunikace přes PPP

Příkaz adb ppp spustí komunikaci skrze PPP (Point-to-Point Protocol). V tomto režimu budou všechna příchozí data podstoupena ovladači protokolu PPP, který ověří platnost rámců protokolu HDLC (každý rámec HDLC je doplněn 16bitovým kontrolním součtem), rozbalí je a odešle. Příklad: adb ppp dev:/dev/omap_csmi_ttyl.

adb get-serialno – sériové číslo zařízení

Příkaz adb get-serialno vypíše sériové číslo připojeného zařízení – stejné, jako na příkaz adb devices. Každé zařízení, které se připojuje k počítači, má své vlastní sériové číslo, které je uloženo v proměnné Build.SERIAL.


adb get-state – typ připojeného zařízení

Příkaz adb get-state odpoví, zda připojené zařízení je emulátor, nebo zařízení. Možné odpovědi jsou device (zařízení), unauthorized (zařízení, na kterém je nutné povolit ladění USB z daného počítače), offline (zařízení je odpojené nebo vypnuté), bootloader (zařízení se nachází v režimu zavaděče), nebo unknown (znamená, že zařízení nebylo rozpoznáno a naznačuje, že došlo k nějaké chybě, pravděpodobně způsobené nekompatibilním ovladačem).


adb status-window – stav zařízení

Dalším z ADB příkazů je povel adb status-window průběžně zobrazuje stav určeného zařízení.


adb wait-for-device – čekání

Příkaz adb wait-for-device pozastaví provedení příkazů, dokud zařízení není dostupné. To se hodí zejména ve skriptech, kdy je například nutné počkat na dokončení restartu zařízení, nebo jeho připojení. Jako příklad uveďme sekvenci adb wait-for-device shell getprop, kdy příkaz shell getprop bude proveden až poté, co bude zařízení připraveno ho přijmout.


adb start-server – spuštění ADB serveru

Příkaz adb start-server zkontroluje, zdali na připojeném zařízení běží ADB server. Pokud ne, pokusí se o jeho spuštění.


adb kill-server – ukončení ADB serveru

V některých případech možná budete muset ukončit ADB proces serveru a restartovat ho k vyřešení problému (například pokud nereaguje na povely). Příkaz adb kill-server ukončí proces ADB serveru. Server pak můžete restartovat odesláním jakýchkoli jiných ADB příkazů.


adb usb – přepnutí do režimu USB

Náš přehled ADB příkazů zakončíme povelem adb usb, který restartuje adb démona do režimu poslechu na USB.

Přepnutí do režimu USB

Přepnutí do režimu USB

Zkuste to bez drátů! aneb ADB přes Wi-Fi

Práce s adb příkazy obvykle probíhá skrze připojení USB kabelem. Je ale možné telefon či tablet tímto způsobem ovládat i skrze bezdrátovou síť. Jak na to, ukazuje následující postup.

  1. Připojte zařízení s Androidem a počítač do stejné sítě. Praxe ukázala, že ne všechny přístupové body jsou vhodné; budete muset použít přístupový bod, jehož firewall je správně nakonfigurován pro podporu ADB.
  2. Připojte zařízení s Androidem k počítači kabelem se zapnutým režimem USB ladění.
  3. V příkazové řádce zadejte příkaz adb usb – měli byste dostat odpověď restarting in USB mode.
  4. Zkontrolujte, zda probíhá komunikace – zadejte příkaz adb devices. Připojené zařízení by se mělo zobrazit na seznamu List of devices attached jako sériové číslo a device. Pokud se vám, stejně jako nám, zobrazí za sériovým číslem unauthorized, pak budete muset na displeji zařízení povolit ladění USB z daného počítače.
  5. Restartujte hostitele v režimu tcpip. K tomu použijte příkaz adb tcpip 5555. Jako odpověď by se mělo zobrazit restarting in TCP mode port: 5555.

    Restartujte hostitele v režimu tcpip

    Restartujte hostitele v režimu tcpip

  6. Zjistěte IP adresu zařízení. Měli byste ji najít například v systémovém nastavení v sekci O telefonu/O tabletu, kde u Stav uvidíte položku IP adresa. V našem případě je to 192.168.1.100.
  7. Nyní zadejte příkaz adb connect ip_adresa_zařízení. Měli byste dostat odpověď connected to ip_adresa_zařízení.

    Připojení k zařízení přes Wi-Fi

    Připojení k zařízení přes Wi-Fi

  8. Odpojte kabel od telefonu či tabletu a ujistěte se, že nadále máte přístup k zařízení pomocí ADB příkazů. Zadejte příkaz adb devices, na adb který byste měli dostat odpověď List of devices attached, ip_adresa_zařízení:5555 device.

    Ujistěte se, že nadále máte přístup k zařízení pomocí ADB příkazů

    Ujistěte se, že nadále máte přístup k zařízení pomocí ADB příkazů

  9. Nyní můžete zadávat adb příkazy stejně, jako když je zařízení připojené kabelem.

Zapomněli jsme na nějaký užitečný povel? Pomozte nám rozšířit přehled dostupných ADB příkazů a podělte se o své zkušenosti v diskuzi pod tímto článkem! Budeme rádi i za konkrétní příklady, jak využít ADB příkazů k různým činnostem a úkolům.

Zdroj: Android Developers: Android Debug Bridge.

Komentáře

Zmasterq

zmasterq 0

z aplikace
26.6.2015 12:37

ještě fastboot erase system a fastboot -w… :-D ať děcka mají co dělat.. :-D

Nathaniell

z aplikace
27.6.2015 12:27

Diky za clanek, je to bomba, ze tu je i neco takoveho :) .

spot

spot

30.6.2015 14:28

2 Zmasterq: napadlo me linuxovy

RD /

:o))

Capri

Capri

30.6.2015 16:47

Je fajn, že vznikl tento “seriál”. Jen bych rád podotkl, že proto aby bylo možné využít ADB a Fastboot není nutné instalovat ani Android SDK Tools natož kompletní Android SDK. Většině uživatelů bude bohatě stačit když využijí velmi podstatně zeštíhlený Minimal ADB and Fastboot (velikost cca 2 MB oproti cca 90 MB u SDK Tools). Více viz thread autora na xda…

http://forum.xda-developers.com/showthread.php?t=2317790

Samo sebou pokud někdo nainstaluje SDK Tools pak to ničemu nevadí, ale pokud hodlá využít pouze ADB popřípadě Fastboot je to dle mého zbytečné. Osobně Minimal ADB and Fastboot využívám již více jak rok a půl bez nejmenších potíží. Třeba se někomu tahle alternativa bude zamlouvat. :)

Karelk

Karel Kiliánexternista 8

1.7.2015 6:11

To: Capri
Díky za užitečný tip!

RSS (komentáře k článku)