Menu

Jedenáct ADB příkazů, kterými ovládnete svého Androida

adb_prikazy_ico

Pro naše čtenáře jistě není novinkou, že telefon či tablet s Androidem je možné připojit kabelem k počítači či notebooku. Kromě kopírování fotek, videí, písniček a dokumentů ale můžete se zařízením provádět celou řadu dalších věcí. Slouží k tomu takzvané ADB příkazy a dnes vám jedenáct z nich představíme a vysvětlíme, k čemu slouží.

Obsah

Co je ADB?

ADB neboli Android Debug Bridge je dle oficiálních vývojářských stránek univerzální nástroj, pracující v režimu příkazové řádky, který vám umožní komunikovat s emulátorem nebo připojeným zařízením s Androidem. Jedná se o program, fungující v režimu klient-server, který obsahuje tři komponenty:

  • Klient, který běží na počítači. Klientskou aplikaci můžete vyvolat příkazem adb.
  • Server, který běží jako proces na počítači na pozadí. Server spravuje komunikaci mezi klientem a ADB démonem, jenž běží na emulátoru nebo zařízení.
  • Démon, který běží jako proces na pozadí na každém emulátoru nebo zařízení.

Co budete potřebovat?

Kromě počítače, kabelu a telefonu či tabletu s Androidem se neobejdete bez Android SDK. Jedná se o sadu vývojářských nástrojů, kterou Google poskytuje zcela zdarma. Pro naše účely naprosto postačuje instalace balíčku, který najdete na stránce Download Android Studio and SDK Tools v sekci SDK Tools Only.

Instalace je jednoduchá – v podstatě vystačíte s klepáním na tlačítko Next a Install. Zapamatujte si ale složku, kam SDK nástroje instalujete!

Pak spusťte SDK Managera a zvolte instalaci komponent dle níže uvedených snímků. Vyčkejte stažení všech komponent.

Dále budete potřebovat ADB ovladače pro vaše zařízení. Ty byste měli najít na webu výrobce.

Nakonec musíte povolit ladění USB, což provedete následovně:

  1. Vstupte do systémového nastavení.
  2. Přejděte do sekce Pro vývojáře.
  3. Aktivujte volbu Povolit ladění USB.
  4. Potvrďte svůj záměr tlačítkem OK.

Jestliže v nabídce systémového nastavení položku Pro vývojáře nemáte, proveďte toto:

  1. Vstupte do systémového nastavení.
  2. Jděte do sekce Informace o telefonu/tabletu.
  3. Sedmkrát klepněte na položku Číslo sestavení, dokud se neobjeví nápis Voilá! Stal se z vás vývojář.


adb devices – výpis připojených zařízení

Příkaz adb slouží ke komunikaci se zařízením, proto mu v tomto článku budeme věnovat největší pozornost. Nejprve bude ale nutné spustit příkazový řádek. Ten nejrychleji vyvoláte takto:

  1. Stiskněte klávesovou zkratku Win+R.
  2. Zadejte příkaz cmd.
  3. Potvrďte klávesou Enter nebo stiskem tlačítka OK.
  4. Spustí se příkazový řádek.

    Spustí se příkazový řádek

    Spustí se příkazový řádek

Nyní potřebujete přejít do složky, ve které je uložen soubor adb.exe. Pokud jste neměnili výchozí nastavení instalace SDK Tools, najdete ho ve složce c:\Program Files\Android\android-sdk\platform-tools\. Zadejte tedy příkaz cd c:\Program Files\Android\android-sdk\platform-tools\.

Výsledkem by mělo být hlášení C:\Program Files\Android\android-sdk\platform-tools>, naznačující, že pracujete v dané složce.

Nyní potřebujeme vyzkoušet, zda zařízení komunikuje s počítačem skrze ADB příkazy. K tomu slouží příkaz adb devices – zadejte ho a potvrďte Enterem.

Zadejte příkaz adb devices

Zadejte příkaz adb devices

Pokud se zobrazí pouze hlášení List of devices attached, zkuste zařízení přepnout z režimu připojení MTP na PTP. To provedete tak, že v horní liště klepnete na položku Připojeno jako multimediální zařízení. V nabídce pak místo volby Zařízení pro média (MTP) vyberete Fotoaparát (PTP).

Seznam je prázdný - zařízení nekomunikuje

Seznam je prázdný – zařízení nekomunikuje

Zobrazí-li se dialog s otázkou, zda si přejete povolit ladění USB z počítače, aktivujte volbu Vždy povolit a potvrďte tlačítkem OK.

Na příkaz adb devices byste pak měli dostat odpověď s číslem a textem device. Tím máte potvrzeno, že zařízení komunikuje skrze ADB. Pokud se tak nestane ani po přepnutí do režimu PTP, pak může být problém v kabelu nebo (a to velmi pravděpodobně) v nainstalovaných ovladačích.

Zařízení je v seznamu a komunikuje tedy s počítačem skrze ADB

Zařízení je v seznamu a komunikuje tedy s počítačem skrze ADB

Nyní tedy máme vše nastaveno a můžeme se podívat na další příkazy.

adb push – odeslání souboru do zařízení

Pokud chcete nahrát nějaký soubor do zařízení, můžete použít příkaz adb push. Budete ale potřebovat znát úplnou cestu k souboru, který chcete do zařízení nahrát, a celou cestu v zařízení, kam hodláte soubor uložit.

Pojďme si to ukázat v praxi. Řekněme, že chceme zkopírovat soubor film.avi, který máme na disku C ve složce Filmy, do složky Movies v telefonu/tabletu.

Zadáme tedy příkaz adb push c:\filmy\film.avi /sdcard/Movies/ a potvrdíme Enterem.

Příkaz pro odeslání souboru do zařízení

Příkaz pro odeslání souboru do zařízení

Připomínáme, že na Windows se pro oddělení složek a souborů používá zpětné lomítko „\“, zatímco na Linuxu (a tím pádem i na Androidu) klasické lomítko „/“.

Jako odpověď dostanete v případě úspěchu informaci o rychlosti přenosu, velikosti souboru a době operace.

Přenos souboru do zařízení byl úspěšný

Přenos souboru do zařízení byl úspěšný

adb pull – stažení souboru ze zařízení

Zatímco příkaz adb push slouží k odeslání souborů do zařízení s Androidem, další příkaz adb pull slouží ke stažení souboru ze zařízení do počítače. Opět ale budete potřebovat znát celou cestu, kde je soubor uložen, a zadat přesnou složku, do které bude zkopírován.

Zkusme si tedy náš soubor film.avi zkopírovat do počítače. Tentokrát do složky Kino, kterou máme pro tyto účely na disku C.

Zadáme tedy příkaz adb pull /sdcard/Movies/film.avi C:\Kino\film.avi a potvrdíme Enterem.

Příkaz pro stažení souboru ze zařízení

Příkaz pro stažení souboru ze zařízení

Výsledek je stejný, jako v předchozím případě – tedy v případě úspěchu bude vypsána rychlost přenosu, velikost a čas.

Přenos souboru byl úspěšný

Přenos souboru byl úspěšný

adb reboot – restart zařízení

Příkaz adb reboot můžete využít například v případech, kdy telefon či tablet přestane reagovat.

Stačí tedy zadat adb reboot, stisknout Enter a zařízení bude bez jakéhokoli dalšího dotazu okamžitě restartováno.

Příkaz pro restart zařízení

Příkaz pro restart zařízení

adb reboot-bootloader a adb reboot recovery – speciální režimy

Pomocí příkazů ADB můžete zařízení restartovat také do režimu konzole pro obnovení (recovery) nebo zavaděče (bootloaderu). Zpravidla se do těchto módů dostanete kombinací stisku hardwarových tlačítek, ale při použití příkazů si nemusíte pamatovat různé kombinace pro rozličná zařízení. Navíc tak lze řešit i situaci, kdy jedno či více tlačítek nefunguje, případně pokud zařízení start do speciálního módu pomocí tlačítek nepodporuje.

  • Do režimu zavaděče (bootloaderu) se dostanete příkazem adb reboot-bootloader.
  • Do režimu konzole pro obnovení (recovery) restartujete příkazem adb reboot recovery.

Dávejte pozor na drobnou zradu v pomlčce, která se v prvním případě používá, ve druhém ale nikoli.

fastboot devices – výpis zařízení

Pokud restartujete telefon do režimu zavaděče, nebudou ADB příkazy fungovat, neboť není spuštěn systém a ladící nástroje nekomunikují. Místo adb můžete použít příkaz fastboot, který je jedním z nejmocnějších dostupných nástrojů a mnohá zařízení ho nemají povolený. To, zda váš telefon či tablet má fastboot povolený, zjistíte snadno – pokusíte se v režimu zavaděče odeslat příkaz, kterým ověříte, zda zařízení s počítačem komunikuje.

Příkaz je prostý: stačí zadat fastboot devices a potvrdit Enterem.

Příkaz pro vypsání dostupných zařízení

Příkaz pro vypsání dostupných zařízení

Podobně, jako u prvního příkazu v tomto článku, byste měli spatřit sériové číslo zařízení. Je-li tomu tak, pak můžete s tímto nástrojem dále pracovat. V opačném případě lze předpokládat nějaké problémy s ovladačem, proto na prvním místě doporučujeme vyhledat na webu, zda vaše zařízení fastboot podporuje a za jakých okolností.

Výpis dostupných zařízení

Výpis dostupných zařízení

fastboot oem unlock – odemknutí zavaděče

Na začátku této kapitoly musíme na prvním místě upozornit, že odemknutím zavaděče dojde ke smazání všech dat v zařízení. Pokud o ně nechcete přijít, proveďte nejprve jejich zálohu.

Příkaz fastboot oem unlock odemkne zařízení řady Nexus (nebo značky HTC s použitím příslušného oficiálního nástroje).

K čemu potřebujete odemykat zavaděč? Například k tomu, abyste mohli provést root (samozřejmě na mnoha telefonech a tabletech to lze i bez tohoto kroku), nainstalovat jinou konzoli pro obnovení (recovery) s více možnostmi a schopnostmi, či nahrát alternativní ROM.

Příkaz pro odemknutí zavaděče

Příkaz pro odemknutí zavaděče

U jiných výrobců může probíhat proces odemknutí odlišně a je nutné dohledat podrobnosti na webu. U zařízení Samsung se například používá aplikace ODIN. K odemknutí zavaděče tedy stačí zadat výše uvedený příkaz a odeslat ho Enterem. Pak ještě budete muset potvrdit svůj záměr na obrazovce (v nabídce se pohybujete tlačítky pro nastavení hlasitosti, potvrzujete tlačítkem pro zapnutí/vypnutí).

Požadavek na souhlas s odemknutím zavaděče

Požadavek na souhlas s odemknutím zavaděče

 

Zařízení můžete poté restartovat příkazem fastboot reboot.

Zařízení můžete poté restartovat příkazem fastboot reboot

Zařízení můžete poté restartovat příkazem fastboot reboot

Zavaděč můžete opětovně zamknout povelem fastboot oem lock. V tomto případě není potvrzení nutné a nedojde ani ke smazání všech dat.

adb shell – mnoho příkazů v jednom balení

Příkaz adb shell slouží primárně k odeslání příkazu do zařízení, kde bude také proveden.

Jednodušeji to pochopíte z následujícího obrázku, kde jsme si nechali vypsat obsah paměťového úložiště. Jedná se o soubory a složky v zařízení, nikoli v počítači, ze kterého jsme příkaz spustili.

Použili jsme nejprve příkaz adb shell a následně ls -a -l. Příkaz ls slouží k vypsání souborů a složek, parametr -l zobrazí názvy ve dlouhém formátu a konečně -a zobrazí všechny, tedy i skryté soubory a složky.

Jakmile se dostanete do tohoto režimu, můžete například povýšit svá oprávnění a pracovat s právy roota. Doporučujeme ale důkladné seznámení s příkazy a parametry shellu, obzvláště pracujete-li s nejvyššími právy. Příkazy přitom spíše než DOSu odpovídají tomu, nač jsou zvyklí pokročilí uživatelé Linuxu či Mac OS X.

Režim shellu opustíte příkazem exit.

adb install – instalace APK balíčků

Zatímco příkazem adb push můžete kopírovat soubory do zařízení, adb install umí instalovat aplikace ve formátu APK. Použití je podobné, jako v případě adb push – musíme tedy zadat celou cestu k aplikaci, kterou hodláme instalovat. Pro rychlejší zadání lze tedy doporučit zkopírování APK souboru do složky, ze které spouštíme adb.

Aplikaci nainstalujete do zařízení příkazem adb install aplikace.apk.

Jak si patrně všimnete, program se nainstaluje bez jakéhokoli požadavku na schválení na obrazovce zařízení. I proto je důležité vypínat ladění USB, pokud ho aktuálně nepoužíváte!

Pokud hodláte aktualizovat již nainstalovanou aplikaci, použijte parametr -r – příkaz tedy bude vypadat takto adb install -r aplikace.apk.

Další zajímavý přepínač je -s. Ten se pokusí nainstalovat program na paměťovou kartu, pokud to systém v zařízení podporuje.

Aplikace můžete pomocí adb příkazů také odinstalovat. Slouží k tomu příkaz adb uninstall. Konvence je podobná, jako v předchozím případě: adb uninstall aplikace.apk.

Také tento příkaz můžete použít s parametry. Například parametr -k odinstaluje aplikaci, ale ponechá všechna data a cache.

adb logcat – zachycení systémových logů

Příkaz adb logcat je jedním z nejužitečnějších příkazů, nicméně výsledkům, které poskytuje, je nutné rozumět. Vrátí totiž seznam událostí z různých protokolů v běžícím systému, takže poskytuje neocenitelné informace vývojáře aplikací. Většina uživatelů se s adb logcat seznámí až tehdy, když je vývojář chybující aplikace požádá o zaslání logů.

Chcete-li zobrazit výstup protokolu na obrazovce počítače, stačí napsat adb logcat a stisknout klávesu Enter. Obsah obrazovky se patrně bude posouvat docela rychle, takže je malá šance, že najdete to, co hledáte. Existují dva způsoby, jak situaci zvládnout: filtry, nebo výstup do textového souboru.

Výstup do textového souboru zajistíte parametrem >soubor.txt. Celý příkaz tedy bude vypadat následovně: adb logcat>soubor.txt. Poté byste měli spustit aplikaci, jejíž pád chcete zachytit – sledování v tu chvíli běží na pozadí. Ukončit ho můžete klávesovou zkratkou Ctrl+C. Následně v souboru soubor.txt, nacházejícím se ve složce, z níž jste spustili adb příkaz, najdete záznamy. Ty můžete poslat vývojáři aplikace k analýze problému.

Musíme ale upozornit, že v souborech protokolu mohou být uloženy citlivé informace. Odesílejte je tedy jen osobě, které důvěřujete, případně otevřete soubor protokolu v textovém editoru a upravte ho podle potřeby.

adb sideload – nečekejte na OTA aktualizaci

Relativně nový a současně jeden z nejjednodušších způsobů, jak aktualizovat zařízení řady Nexus. Při standardní OTA aktualizaci si zařízení stáhne aktualizační balíček z webu Googlu. Jak jistě mnozí majitelé Nexusů potvrdí, často se na tuto formu aktualizace čeká několik dnů až týdnů. Aktualizaci si přitom můžete nainstalovat sami a konečný výsledek bude prakticky stejný.

Jediné, co musíte udělat, je sehnat a stáhnout aktualizační balíček do svého počítače. To pravděpodobně nebude problém – již několik hodin po vydání se objevují odkazy na tyto soubory na oborových webech.

Pak restartujte zařízení do konzole pro obnovení příkazem adb reboot recovery a následně zadejte příkaz adb sideload soubor_s_aktualizaci.zip. Pokud nechcete zadávat celou cestu k souboru, zkopírujte ho do složky, ze které spouštíte adb.

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

Pokud vás ADB příkazy zaujaly, určitě si nenechte ujít navazující článek Dalších 13 ADB příkazů, jimiž ovládnete svého Androida.

Zdroje: Android Developer, Android Central: Ten basic Android terminal commands you should know.

Mohlo by vás zajímat

Komentáře

rokyshit

z aplikace
17.6.2015 12:22

Strašně složitý a zatraceně nebezpečný.Na aktualizace zlatej Nexus Root Tolkit.

Mr. Arakin

z aplikace
17.6.2015 13:00

Přehledně a srozumitelně popsáno. Díky moc.

Natsu

17.6.2015 14:18

Spíše doporučuju příkaz „adb shell am kill-all“ dobrý když vám nějaká aplikace zasekne celej mobil a nic se neděje..

Hokyjack

17.6.2015 14:28

Opravdu parádní článek! Díky moc autorovi za něj!

Lukáš Kymla

z aplikace
17.6.2015 14:28

Složitý? Nebezpečný? Co je nebezpečné a slozite na “ flash-all.bat“ ? Nez se NRT probere tak mam full clear flash.
A nebezpečný je i ten NRT když se dotyčný uživatel pouští do problematiky které nerozumí a ani není ochoten si cokoli přečíst či najít na netu.
Věřím že se najde dost lidí kteří si po přečtení tohoto návodu budou myslet že jsou mistři v shellu.

uni

17.6.2015 14:40

U bootloaderu (zavaděče, btw. jsou nutné ty české matoucí překlady?) bych na začátek kapitoly především uvedl, že se poruší záruka.
Jinak článek fajn.
NRT je opravdu fajn, ačkoli ani on není bez chyby, neumí si ani kloudně uhlídat kontrolní součet souboru, docela zásadní funkce a nedostatek.

s3icc0

17.6.2015 14:46

pěkný článek – jen tak dál

mkyral

17.6.2015 15:25

Opravdu obdivuji uživatele jistého operačního systému, že jsou schopni používat tu parodii na terminál. Nejde to roztáhnout přes celou obrazovku a Copy/Paste je neskutečný horor.

Mirek

17.6.2015 16:32

@mkyral: Jen pockej na Windows 10, vsechno bude lepsi.

Imrich

17.6.2015 18:51

Mkyral: Samozrejme, ze je mozne roztiahnut okno s terminalom ako len chcete.

vLv

17.6.2015 19:54

super článek díky za něj :)

luu

17.6.2015 23:34

re :mkryall, vyjadruj se k tomu cemu rozumis, veskere prikazy muzes spoustet v powershellu coz je mimo jine objektovy shell, je soucasti win od w7, pro nizsi jako aktualizace, to ze jde jako fullscreen samozrejme je miliontina jeho moznosti.btw vsadim boty ze v bashi, v tom druhem ,tebou nejmenovanem systemu jsem o parnik taky jinde, v shellu ve win je to jasny, sam ses zesmesnil prispevkem cos napsal ze nevis vubec nic.

europoint

17.6.2015 23:46

Škoda, že autor článku nemá vlastní server, by nebylo sem třeba více chodit.

Nathaniell

z aplikace
18.6.2015 0:29

Hodne dobry clanek, uvital bych vice takovych :) .

mkyral

18.6.2015 7:02

@luu
Vzhledem k tomu, že náplní mé práce jsou i shell scripty, tak o bashi něco málo vím. Takže o parník asi ne, ale o pramičku lepší být můžeš.

Byl to jen takový povzdech. Nedávno jsem musel třikrát u známých něco řešit a setkání s cmd. A o proti terminálům na linuxu je strašně omezený. A na powershellu se mi nelíbí ty strašně dlouhé příkazy. Navíc není všude dostupný a ne vždy je možnost jej nainstalovat.

luu

18.6.2015 16:38

u znamych… takze pokud xp a vys, powershell je moznej, nejses u komplu ve firme kde si bez schvalenych politik neuprd.es, btw ono je mozna i vyssi divci , portable powershell, takze prosim, to ze u znamych resi problemy amateri, ne , to neni problem windows

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