Android: Ladění aplikace

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Popsáno spouštění .apk na mobilu přímo)
(Doplnění popisu použití AVD (částečně).)
 
(Není zobrazena 1 mezilehlá verze od 1 uživatele.)
Řádka 2: Řádka 2:
  
 
<div class="Motto">Š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.</div>
 
<div class="Motto">Š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.</div>
 +
  
 
== Jak zkoušet/ladit aplikace pro Android? ==
 
== 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... ;)
 
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 ==
 
== 1. Spuštění *.apk na mobilu ==
 
* Nejjednodušší metoda, ale neumožňuje ladění v pravém slova smyslu.
 
* Nejjednodušší metoda, ale neumožňuje ladění v pravém slova smyslu.
 
* Ve vývojovém prostředí přeložíme aplikaci. Balíček <code>*.apk</code> pak zkopírujeme do mobilního zařízení a spustíme. Zkoušíme chování aplikace.
 
* Ve vývojovém prostředí přeložíme aplikaci. Balíček <code>*.apk</code> 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 <code>*.apk</code> zkopírovat do cloudového úložiště.
 +
* Aplikaci vidíme přímo na mobilním zařízení v reálné podobě.
 
; Nevýhody:
 
; Nevýhody:
 
* Vyžaduje povolit (alespoň dočasně) spouštění aplikací ze zdrojů jiných než Google Play.
 
* Vyžaduje povolit (alespoň dočasně) spouštění aplikací ze zdrojů jiných než Google Play.
Řádka 14: Řádka 20:
 
* Nemáme možnost sledovat, co se děje uvnitř aplikace.
 
* 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.
 
* 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:
 
; Výhody:
* Není třeba na počítači ani v mobilním zařízení nic instalovat.
+
* Skutečné ladění s minimálními nároky na výkon počítače (aplikace běží v mobilním zařízení).
* Stačí soubor <code>*.apk</code> zkopírovat do cloudového úložiště.
+
 
* Aplikaci vidíme přímo na mobilním zařízení v reálné podobě.
 
* 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.
  
== 2. Připojení k mobilu prostřednictvím ovladačů ==
 
  
 
== 3. Virtualizace zařízení AVD ==
 
== 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čů ===
 
=== 3.1 S podporou HAXM ovladačů ===
* Vyžaduje procesory značky Intel (nelze použít na procesorech AMD!!!)!
+
* 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).
 +
 
 +
<div class="Varovani">
 +
Tento způsob zrychlení lze použít pouze na procesorech značky Intel!
 +
 
 +
'''NELZE použít na procesorech AMD!!!'''
 +
</div>
  
 
=== 3.2 S využitím funkcí grafické karty ===
 
=== 3.2 S využitím funkcí grafické karty ===
  
=== 3.3 Plná emulace ===
+
=== 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.
  
 
== 4. Cloudové nástroje ==
 
== 4. Cloudové nástroje ==

Aktuální verze z 9. 3. 2016, 15:18


Š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

Výhody
Nevýhody


2. Připojení k mobilu prostřednictvím ovladačů

Výhody
Nevýhody


3. Virtualizace zařízení AVD

3.1 S podporou HAXM ovladačů

Výhody
Nevýhody

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

4. Cloudové nástroje

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje