MS Office week
Pouze tento týden sleva až 80 % na e-learning týkající se MS Office
50 % bodů zdarma na online výuku díky naší Slevové akci!

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 Hello World!

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)
  • 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:

  • Povolit na zařízení vývojářské možnosti
  • Povolit na zařízení ladění USB
  • Nainstalovat USB driver pro ADB (Android Debug Bridge)
  • Po připojení kabelem k počítači zvolit 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á 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 a 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
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

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áž slouží tedy jen k tomu, kdyby se vám tak náhodou nestalo 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 Tool zvolíme možnost AVD Manager:

V uvítacím okně klikneme na tlačítko "+ Create Virtual 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 modré "Download" 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 jeden připojený telefon HUAWEI. Žádné virtuální zařízení spuštěno v danou chvíli není. 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! :)


 

Předchozí článek
Android programování - Android API a struktura projektu
Všechny články v sekci
Základy vývoje Android aplikací v Javě
Článek pro vás napsal lupa.lupa
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Aktivity (5)

 

 

Komentáře

Avatar
jirka
Člen
Avatar
jirka:18. srpna 14:32

Ahoj,
připojil jsem mobilní telefon (Xiaomi Redmi Note 8 Pro - Android 10) přes USB k PC a mobil se mi nastavil v Android Studiu. Když dám RUN. neustále mi píše hlášku
"List of apks:
[0] '/home/notas/An­droidStudioPro­jects/pokus1/ap­p/build/output­s/apk/debug/app-debug.apk'
Installation via USB is disabled.
Retry"
"Session 'app': Installation did not succeed. The application could not be installed: INSTALL_FAILED_U­SER_RESTRICTED Retry"

Povolený "Možnosti pro vývojáře" mám.
Pokud chci něco povolit, chce po mě účet Xiaomi.

Mám někde povolit via USB? (není v telefonu)

Nevím jak dál.
Děkuji Jirka

 
Odpovědět
18. srpna 14:32
Avatar
lupa.lupa
Super redaktor
Avatar
lupa.lupa:18. srpna 17:45

Ahoj, s tím jsem se sice zatím nesetkal, ale našel jsem jednu diskusi, zde něco takového někdo řešil:

https://stackoverflow.com/…dmi-4-device

Doufám, že ti to pomůže ;-)

Odpovědět
18. srpna 17:45
Žádný učený z nebe nespadl. A i kdyby spadl, stejně by se zabil.
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
jirka
Člen
Avatar
Odpovídá na lupa.lupa
jirka:23. srpna 9:32

V mobilu (Xaomi Redmi Note 8 Pro) Nastavení ->Další možnosti-> Možnosti pro vývojáře jsem povolil "Ladění USB" i "Instalovat přes USB" (zde jsem musel dát Xaomi přístup + heslo)
A pak se vše objevilo v mobilu, jak pod Windows i Kubuntu.

 
Odpovědět
23. srpna 9:32
Avatar
jirka
Člen
Avatar
Odpovídá na lupa.lupa
jirka:23. srpna 9:56

V mobilu (Xaomi Redmi Note 8 Pro) Nastavení ->Další možnosti-> Možnosti pro vývojáře jsem povolil "Ladění USB" i "Instalovat přes USB" (zde jsem musel dát Xaomi přístup + heslo)
A pak se vše objevilo v mobilu, jak pod Windows i Kubuntu.

 
Odpovědět
23. srpna 9:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.