Android: Ladění aplikace
Z MiS
Šest programátorských zákonů: 1. V každém programu je alespoň jedna chyba. 2. Každý program lze zkrátit alespoň o jeden řádek. 3. Nejjednodušší chyby se nejhůře hledají. 4. Každou opravou se do programu zanese nová chyba. 5. Když už se zdá, že program je v pořádku, určitě jsme něco přehlédli. 6. Programátor dělá, co umí. Počítač si dělá, co chce.
Obsah |
Jak zkoušet/ladit aplikace pro Android?
Při vývoji aplikací pro Android je ladění náročnější v tom, že aplikace nelze spustit přímo na počítači, na kterém vývojář pracuje. Tedy alespoň do doby, než někdo napíše dobré vývojové prostředí běžící na Androidu... ;)
1. Spuštění *.apk na mobilu
- Nejjednodušší metoda, ale neumožňuje ladění v pravém slova smyslu.
- Ve vývojovém prostředí přeložíme aplikaci. Balíček
*.apk
pak zkopírujeme do mobilního zařízení a spustíme. Zkoušíme chování aplikace.
- Výhody
- Není třeba na počítači ani v mobilním zařízení nic instalovat.
- Stačí soubor
*.apk
zkopírovat do cloudového úložiště. - Aplikaci vidíme přímo na mobilním zařízení v reálné podobě.
- Nevýhody
- Vyžaduje povolit (alespoň dočasně) spouštění aplikací ze zdrojů jiných než Google Play.
- Pokud aplikace havaruje, nedostaneme žádnou informaci o důvodů pádu.
- Nemáme možnost sledovat, co se děje uvnitř aplikace.
- Můžeme takto zkoušet aplikaci jen na zařízeních a verzích Androidu, která máme fyzicky k dispozici.
2. Připojení k mobilu prostřednictvím ovladačů
- Pokud máme k dispozici ovladače od výrobce mobilního zařízení (obvykle jdou stáhnout z webu výrobce), můžeme propojit Android Studio s mobilním zařízením.
- Aplikaci pak spouštíme přímo z Android Studia.
- Aplikace běží na mobilním zařízení, připojeném přes USB kabel.
- Informace o událostech, probíhajících v zařízení, se posílají do počítače a dají se zobrazit v Android Studiu či jiném vývojovém prostředí.
- Výhody
- Skutečné ladění s minimálními nároky na výkon počítače (aplikace běží v mobilním zařízení).
- Aplikaci vidíme přímo na mobilním zařízení v reálné podobě.
- Nevýhody
- Je třeba do počítače instalovat ovladače zařízení. (Správcovské oprávnění, ovladače mohou kolidovat s dalšími programy v počítači,...)
- Ovladače jsou specifické pro konkrétního výrobce mobilních zařízení (nebo spíše pro konkrétní skupinu zařízení daného výrobce).
- V mobilním zařízení je třeba povolit (alespoň dočasně) vývojářský režim.
- Můžeme takto zkoušet aplikaci jen na zařízeních a verzích Androidu, která máme fyzicky k dispozici.
3. Virtualizace zařízení AVD
- V tomto případě využijeme vestavěných možností Android SDK a budeme aplikace spouštět na virtuálním zařízení, emulovaném přímo v našem počítači.
- Pro zrychlení práce lze využít několik variant zrychlení.
3.1 S podporou HAXM ovladačů
- Pro emulaci mobilní platformy Intel Atom lze využít hardwarové podpory virtualizace, kterou nabízí moderní procesory.
- Abychom byli přesnější, aplikace pro platformu Intel Atom lze ladit POUZE tímto způsobem!
- Výhody
- Výrazné zrychlení startování i běhu laděných aplikací!
- Nevýhody
- Lze použít pouze pro ladění na platformě Intel Atom, nikoli pro platformu ARM.
- Vyžaduje instalaci ovladače Intel HAXM. (Volně dostupný ze stránek Intelu nebo v rámci instalace Android SDK.
- Běží pouze na procesorech značky Intel (nikoli na AMD).
Tento způsob zrychlení lze použít pouze na procesorech značky Intel!
NELZE použít na procesorech AMD!!!
3.2 S využitím funkcí grafické karty
3.3 Ukládání obrazů (snapshot) aktuálního stavu stroje
- Tato možnost zrychlí start emulovaného mobilního zařízení. (Cca 2/3 standardního času, podle konkrétní platformy a rychlosti počítače.)
- Cenou za toto zrychlení jsou vyšší nároky na obsazené místo na disku (ukládá se i aktuální obsah operační paměti zařízení, aby se příště nemuselo bootovat).
- Je třeba zvolit v nastavení Android Virtual Device (AVD).
- Nelze kombinovat s akcelerací pomocí využití grafické karty.