Lekce 4 - Android programování - Spuštění aplikace (zařízení/emulátor)
V minulé lekci, Android programování - Android API a struktura projektu, jsme si vysvětlili, co je to Android API a popsali si strukturu projektu.
Abychom spustili Android projekt, potřebujeme vytvořit buď v emulátoru virtuální zařízení, nebo si nastavit nějaké reálné zařízení. Oba způsoby si v dnešním Android tutoriálu vyzkoušíme!
Spuštění aplikace
Po vytvoření nového projektu nám Android Studio připravilo jednu aktivitu s jedním textem "Hello World!". Tento připravený projekt můžeme i spustit. Máme hned dvě možnosti, jak projektu vdechnout život:
- Spuštěním v reálném zařízení (na vašem telefonu) nebo
- spuštěním v emulátoru (na vašem PC).
Nejprve si popíšeme kroky nutné k přípravě daných způsobů, další postup bude pro obě možnosti stejný.
Reálné zařízení
Co budeme potřebovat? Kromě zařízení se systémem Android a USB kabelu navíc:
- Musíme povolit na zařízení vývojářské možnosti.
- Také povolíme na zařízení ladění USB.
- Dále budeme muset nainstalovat USB driver pro ADB (Android Debug Bridge).
- Po připojení telefonu kabelem k počítači zvolíme režim USB na MTP.
Pojďme jednotlivé body splnit.
Povolení vývojářských možností na zařízení
Od Android 4.2 a novějších musíme obrazovku s možnostmi pro vývojáře povolit, protože je skrytá. Chceme-li povolit testování aplikací na daném zařízení, přejdeme do nastavení telefonu a tam klepneme několikrát (asi sedmkrát) na položku Číslo sestavení. Tuto možnost najdeme, v závislosti na verzi Androidu konkrétního zařízení, na jednom z následujících míst:
- Android 9 (API level 28) a novější: Nastavení -> Info o telefonu -> Číslo sestavení
- Android 8.0.0 (API level 26) a Android 8.1.0 (API level 26): Nastavení -> O telefonu -> Informace o softwaru -> Číslo sestavení
- Android 7.1 (API level 25) a nižší: Nastavení -> Info o telefonu -> Číslo sestavení
Ukážeme si příklad povolení vývojářských možností na reálném tabletu. Otevřete nastavení a klikněte na záložku s informacemi o zařízení. Zde najděte položku Číslo sestavení, na kterou asi sedmkrát po sobě klikněte:
Po opakovaném klikání bude zobrazena zpráva o úspěšném povolení vývojářských možností a v menu Nastavení telefonu se objeví nová položka Možnosti pro vývojáře:
Klikneme na novou položku Možnosti pro vývojáře a zkontrolujeme, že je zaškrtnutá stejnojmenná položka Možnosti pro vývojáře. Pokud není, zaškrtneme jí:
Povolení ladění USB
Než budeme moci používat debugger a další nástroje, musíme povolit ladění USB. To umožňuje Android Studiu a dalším nástrojům SDK rozpoznat naše zařízení při připojení přes USB. Tuto možnost zapneme v nabídce Možnosti vývojáře, najdeme ji v závislosti na verzi Androidu konkrétního zařízení na jednom z následujících míst:
- Android 9 (API level 28) a vyšší: Nastavení -> Systém -> Advanced -> Možnosti pro vývojáře -> Ladění USB
- Android 8.0.0 (API level 26) a Android 8.1.0 (API level 26): Nastavení -> Systém -> Možnosti pro vývojáře -> Ladění USB
- Android 7.1 (API level 25) a nižší: Nastavení -> Možnosti pro vývojáře -> Ladění USB
Opět si ukážeme příklad na reálném tabletu. Ve stejném okně, kde jsme zaškrtli položku Možnosti pro vývojáře, sjedeme v menu níže a najdeme položku Ladění USB, kterou zaškrtneme:
Potvrdíme následující dva dialogy a máme vše připraveno:
Popsané způsoby nastavení ladění USB a vývojářských možností se mohou mírně lišit podle výrobce telefonu, protože ne na každém telefonu, se stejným Androidem je přesně stejný jeho vzhled. Neměli byste ovšem mít vážnější problémy dané položky v menu najít.
Instalace USB driveru pro Android Debug Bridge
Po prvním připojení reálného zařízení k počítači v režimu Ladění USB by mělo automaticky dojít ke stažení ovladačů a k nastavení připojeného zařízení. Zatím se mi nestalo, že bych někdy musel USB driver stahovat a instalovat ručně. Následující pasáž uvádím pro případ, že by vám automatické nastavení ovladačů nefungovalo a můžete ji jinak přeskočit.
Pokud budete vyvíjet v systému Mac OS X nebo Linux, nemělo by být, dle dokumentace, nutné ovladač USB instalovat.
Pokud budete vyvíjet v systému Windows, naleznete na oficiálních stránkách Android Studia tabulku, která nabízí odkazy na webové stránky některých výrobců hardware, kde si můžete stáhnout příslušný USB ovladač pro své konkrétní zařízení. Instalační soubor spusťte a postupujte podle pokynů.
Pokud by se, po úspěšné instalaci USB driveru, objevil nějaký problém s instalací vyvíjené aplikace na toto připojené zařízení, je možné zkusit ručně aktualizovat příslušné ovladače. Popíšeme si postup pro systém Windows 10:
- Připojte zařízení přes USB k počítači.
- Klikněte pravým tlačítkem na ikonu (položku v průzkumníkovi) Tento počítač.
- V otevřeném menu zvolte položku Spravovat.
- V levé části otevřeného okna Správa počítače klikněte na položku Správce zařízení a najděte a rozbalte položku Přenosná zařízení.
- Klikněte pravým tlačítkem myši na název připojeného zařízení a vyberte možnost Aktualizovat ovladač.
- V Průvodci aktualizací ovladače zvolte možnost Vyhledat ovladač v počítači.
- Klikněte na tlačítko Procházet a vyhledejte složku s
nainstalovaným ovladačem USB, který bývá umístěn ve složce s instalací
SDK takto
\extras\google\usb_driver\
. - Vyberete příslušný soubor a nainstalujete.
Tímto máme přípravu na spuštění našich aplikací na reálném fyzickém zařízení hotovou.
Emulátor
Druhým způsobem vyzkoušení našich Android aplikací je emulátor přímo v PC. Ten nevyžaduje fyzické zařízení, ale může být pomalejší. Prvním krokem pro zprovoznění emulátoru bude vytvořit nějaké virtuální zařízení, ve kterém aplikaci spustíme. V horní liště Android Studio v nabídce Tools zvolíme možnost Device Manager:
V novém okně klikneme na tlačítko Create Device:
V následujícím okně budeme vybírat typ zařízení. Vlevo zvolíme možnost Phone, uprostřed vybereme jeho velikost a rozlišení a klikneme na tlačítko Next:
Následuje výběr verze Android API, kterým zvolený typ telefonu vybavíme. Položky, které jsou tučně a nemají vpravo poznámku "Download", můžeme použít ihned - jsou to verze, které máme v SDK Manageru stažené. Ukážeme si stažení například verze Android Q (API 29). Klikneme na symbol pro download (viz. obrázek) a vyčkáme na stažení všech potřebných součástí, což bude nějakou dobu trvat:
Dokončení stahování a instalace potvrdíme tlačítkem Finish:
Budeme vráceni do okna s výběrem verze systému, kde již bude možné staženou verzi Android Q zvolit a potvrdit tlačítkem Next:
V dalším okně můžeme upravit název našeho virtuálního telefonu. V tomto okně je možné další rozšířené nastavení, ale tím se zatěžovat nebudeme:
To byl poslední krok a nyní již vidíme okno samotného AVD Manageru s nově vytvořeným telefonem. Výše popsaným postupem můžeme vytvořit více zařízení s různými parametry a zde, v AVD Manageru, je uvidíme všechny v seznamu i s velikostí, jakou mají na disku rezervovanou:
Jakékoliv virtuální zařízení spustíme z AVD Manageru kliknutím na ikonku Play v posledním sloupečku tabulky a vyčkáme, než se zařízení zapne:
Tímto máme připravené zařízení a můžeme na něm spouštět naše aplikace
Ve virtuálním zařízení není nutné nastavovat možnosti vývojáře jako v reálném zařízení. Vše je již defaultně zapnuté.
Rádi bychom upozornili na aktuální problém s
emulátorem a doufáme, že co nejdříve dojde k opravě chyby a my
budeme moci tento červený odstavec z článku odstranit. Po poslední
aktualizaci emulátoru může emulátor přestat pracovat a hlásit chybu
Emulator: PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [X:\SDK]!
Po aktualizaci emulátoru konkrétně přestalo Android Studio akceptovat v
cestě ke složce s SDK ne-ASCII znaky. A protože, v mém případě, cesta
"vede" přes uživatelskou složku Windows, jejíž jméno obsahuje české
znaky, docházelo k chybě. Nechtěl jsem dotčené složky zkoušet přesouvat
a zadělat si tím na jiné problémy, proto jsem dočasně ve
Windows vytvořil druhý účet a pojmenoval ho tak, aby název neobsahoval
žádné české znaky. Jsem-li ve Windows přihlášen pod tímto novým
účtem, emulátor funguje. Popsanou chybu registruji cca od začátku března
2020. Očekávám vydání aktualizace, která problém vyřeší. Až se tak
stane, druhý dočasný účet ve Windows odstraním a zároveň s ním i tento
nehezký odstavec.
Spuštění aplikace
Máme za sebou přípravu jak skutečného zařízení, tak i toho virtuálního. Seznam všech použitelných zařízení (jak virtuálních, tak fyzických) nalezneme nahoře, viz následující obrázek:
Zde na obrázku je konkrétně vidět Samsung A52. Máme také spuštěné virtuální zařízení. Dostupná virtuální zařízení, která máme v AVD Manageru (zde máme jen jedno), jsou vidět ve střední části nabídky. Pokud v nabídce zvolíme virtuální zařízení, které není zapnuté a spustíme aplikaci, toto virtuální zařízení se automaticky zapne.
A jak spustíme aplikaci? Na předchozím obrázku, vpravo od seznamu dostupných zařízení, je zelené tlačítko Run app. Na tlačítko klikněte a vyčkejte dokončení buildu projektu a spuštění aplikace ve zvoleném zařízení:
Máme hotovo!
Tímto jsme úspěšně spustili první aplikaci! Pokud se vám vyskytly nějaké problémy, neváhejte se zeptat v komentářích pod článkem.
V příští lekci, Android programování - První aplikace, návrh kalkulačky, si vytvoříme svou první Android aplikaci! Bude to tradičně jednoduchá kalkulačka.