Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 18 - Programujeme Android hru - Nahrání hry do zařízení

V předchozí lekci, Programujeme Android hru - Jednoduchá herní smyčka, jsme si rozvětvili provádění kódu do stavů hry READY, RUNNING a GAMEOVER.

Vážení přátelé, vše jednou skončí. Stejně tak dnešním posledním dílem končí náš seriál, který je příkladem toho, že i jediný amatérský vývojář může sám vytvořit jednoduchou hru. Na Google Play, kde jsem ostrou verzi naší hry zveřejnil, jsou jako vývojáři uvedeni pragmaticdeve­lopers. Nenechte se tím mýlit, za projektem skutečně stojím jen já. Název jsem si dal v množném čísle, protože jsem měl v úmyslu zapojit do projektu ještě jednoho nebo dva nadšence. Bohužel, nikoho jsem na spolupráci bez vidiny zisku kupodivu nesehnal :) Přestože lze tvořit samostatně, doporučuji přizvat k sobě ke spolupráci stejně nadšeného kamaráda, se kterým si úlohy na projektu rozdělíte.

Odhalení a Motivace - klidně přeskočte

Nechci být za lháře a nikoho klamat, proto musím přiznat, že jsem hru nevytvářel z pouhého nadšení. V počátku v tom byla určitá počáteční krásná forma naivity :) Byl jsem inspirován vývojářem Nguyen Ha Dong, který vytvořil jednoduchou hru Flappy bird. V době největší slávy této hry kolovala po internetu zpráva, že Flappy bird vydělával na reklamě svému tvůrci v přepočtu milion korun denně. Už jsem se viděl v hotelu v nějaké exotické destinaci.

Business plán byl jednoduchý. Hráč Wacky chicken, aby dosáhl skóre, musí neustále urychlovat slepici klikáním na krmivo, v tom se nečekaně a zákeřně objeví přes celý displej reklama. Hráč je chudák rozklikaný a proto setrvačností na tuto reklamu klikne. A zbohatnutí? Ne, uhádli jste správně, žádné finanční tornádo nepřišlo, nepřišlo totiž vůbec nic :)

Odhalením business plánu chci zodpovědět, čím a proč se drobně liší verze hry v našem seriálu a publikovaná verze na Google Play.

V publikované jsou navíc tyto prvky: reklama, odkaz na facebook, žebříček nejvyšších dosažených scores a tlačítka. Reklama je jasná, vývojáři a poskytovateli má vydělávat peníze, prodejci zase pomoci prodat produkt/službu. Odkaz na Facebook pro popularizaci hry a vývojáře. Herní žebříček měl zajistit, aby hráči měli motivaci se předhánět, hrát tak více a tím více klikat na reklamu. :) Konečně tlačítka jsou nutná, aby tyto přidané prvky šly spouštět.

Proč tohle všechno není v našem tutoriálu? Protože by to mohlo mnoho čtenářů odradit, už takhle je seriál poměrně dlouhý. Vyžadovalo by to další strany textu s postupy, jak reklamu a herní žebříček do naší hry implementovat, další zdrojový kód s obsloužením těchto prvků. Případní zájemci si postupy a API najdou v publikované dokumentaci sami.

Nahrání naší aplikace do zařízení

Dnešní lekce nebude o psaní kódu. Ukážeme si, jak naší hru nahrát do mobilního telefonu nebo tabletu. Před samotným nahráním ještě potřebujeme v projektové složce wacky-chicken-android nahradit výchozí ikony:

Soubory výchozích ikon nahradíme našimi - Programujeme Android hru

Cesta k těmto ikonám je ...workspace\wackychicken\android\res. Pokud bychom to neudělali, tak se nám v zařízení, na kterém naší aplikaci budeme spouštět, bude u naší hry objevovat ikona Androida. My chceme ikonku naší hloupé slepice. Ikony jsou ke stažení níže. Pokud jsme nahrazení provedli při spuštěném Eclipse, klikneme pravým tlačítkem na dotčenou projektovou složku a z nabídky vybereme Refresh.

Znám dva možné způsoby nahrání appky do zařízení. Druhý ale umím jen pro Windows. Ukážeme si obě možnosti.

První postup

Prvním postupem je exportování aplikace jako "Podepsaného balíčku aplikace". Podmínkou tohoto postupu, aby nám hra šla instalovat, je povolení neznámých zdrojů v nastavení zabezpečení:

Nastavení zabezpečení - Programujeme Android hru

Naší hru vyexportujeme rovnou do zařízení. Připojme tedy náš mobil nebo tablet pomocí USB kabelu do PC. Gestem potažením oznamovací lišty směrem dolů vyvoláme nabídku rozhraní USB, kde nastavíme Úložiště USB:

Vybereme možnost úložiště USB - Programujeme Android hru

Opětovným potažením oznamovací lišty směrem dolů a stisknutím tlačítka "USB připojeno" vyvoláme nabídku se zeleným robotem Androida:

Zapneme úložiště USB - Programujeme Android hru

Po zapnutí úložiště se objeví oranžový robot s hláškou, že úložiště USB je používáno:

Úložiště USB je používáno - Programujeme Android hru

Přejdeme do Eclipse a provedeme export balíčku:

Postup exportování balíčku - Programujeme Android hru

Potvrdíme, že exportujeme projektovou složku wacky-chicken-android:

Potvrdíme projektovou složku - Programujeme Android hru

Pokud ještě nemáme, vytvoříme si úložiště pro náš klíč:

Vytvoříme úložiště pro klíč - Programujeme Android hru

Vytvoříme si svůj klíč a do tohoto úložiště ho uložíme:

Vytvoříme si svůj klíč - Programujeme Android hru

Náš balíček se konečně podepíše, my už ho jen uložíme. Úložiště USB máme zapnuté, takže rovnou můžeme uložit do zařízení. Na fotografii níže ukládám do interního úložiště do složky download, samozřejmě lze uložit jinam. Klikneme na tlačítko Save:

Balíček uložíme do zařízení - Programujeme Android hru

Wacky chicken nyní máme v mobilu nebo tabletu, pod oranžovým robotem tlačítkem vypneme úložiště USB. Spustíme si nějakého správce souborů a nalezneme náš nahraný balíček:

Spustíme správce souborů - Programujeme Android hru

Klikneme na něj a vyskočí dotaz, kam se má instalovat. Potvrdíme volbu "Let the system decide":

Necháme rozhodnout systém - Programujeme Android hru

Potvrdíme poslední dotaz, zda nainstalovat:

Instalaci potvrdíme - Programujeme Android hru

Proběhlo:

Instalace proběhla OK - Programujeme Android hru

Spustíme, úspěšně běží na mobilním telefonu:

Úspěšně běží na mobilním telefonu - Programujeme Android hru

Druhý postup

V případě, kdy má operační systém k dispozici vestavěné adb drivery pro naše zařízení, popř. si je sám dodatečně stáhne, je druhý postup instalace naší aplikace do zařízení prostý. Zařízení máme USB kabelem připojené k PC, v Eclipse označíme projektovou androidí složku, stiskneme tlačítko play (na obrázku zakroužkováno červeně), hra se po stisku tlačítka OK sama okamžitě do zařízení nainstaluje a spustí:

Drivery adb OK - Programujeme Android hru

Ano, pokud se v nabídce objeví náš mobilní telefon nebo tablet, jsou adb drivery nainstalovány. Problém nastává, pokud se zobrazí nabídka bez našeho zařízení. Řešení spočívá v instalaci adb ovladačů dodaných výrobcem, alternativně můžeme použít univerzální adb ovladače. Výrobci někdy tyto ovladače dodávají společně se zařízením, ukládají je na virtuální jednotku CD-ROM, někdy je nutné tuto jednotku zapnout. Postup je stejný, jako jsme si uváděli výše při zapínání úložiště USB. Gestem potažením oznamovací lišty směrem dolů vyvoláme nabídku rozhraní USB, kde místo výběru úložiště USB vybereme Integrovanou jednotku CD-ROM - odkazuji na obrázek výše. Po tomto zapnutí se v průzkumníkovi na tuto jednotku podíváme:

Objeví se virtuální CD-ROM - Programujeme Android hru

Výrobce adb nedodal - Programujeme Android hru

A jé, žádné ovladače tam nejsou, jen nějaké pdf-ko s popisem architektury USB konektorů. Demonstrativně si tedy ukážeme, jak nainstalovat alternativní adb drivery. Důsledně varuji, před použitím závadných (zavirovaných) adb ovladačů! Výběr těch správných je vaší zodpovědností, pokud si nejste jisti, neprovádějte a používejte první postup.

Chceme tlačítkem play rovnou z Eclipse nainstalovat a spustit naší hru v zařízení. Po stisknutí tlačítka se zobrazí prázdná nabídka, adb tedy nejsou v OS nainstalovány:

V os nejsou adb - Programujeme Android hru

Jdeme do správce zařízení hledat možnou příčinu, kde objevíme vykřičník u našeho zařízení:

Chyba zařízení - Programujeme Android hru

Klikneme na naše zařízení pravým tlačítkem myši a z nabídky vybereme "Aktualizovat software ovladače...":

Aktualizovat software ovladače - Programujeme Android hru

Pokračujeme zvolením druhé nabízené možnosti "Vyhledat ovladač v počítači" zde na obrázku "Browse my computer for driver software":

Vyhledat v počítači - Programujeme Android hru

Procházením souborové cesty vybereme náš adb ovladač a dáme další:

Vybereme soubory s adb ovladačem - Programujeme Android hru

Zobrazí se varovná hláška, že Windows nemůže ověřit vydavatele software, pouze pro náš účel předvedení postupu klikám na volbu "Přesto instalovat":

Neznámý vydavatel adb ovladače - Programujeme Android hru

Ovladač není digitálně podepsán a je tedy potenciálně nebezpečný. My si to zde takto ukazujeme pouze pro ilustraci postupu, protože jsem digitálně podepsaný ovladač pro své zařízení nesehnal. Vy použijte originál adb ovladač od výrobce nebo si najděte digitálně podepsaný ovladač a pokud tyto nejsou k dispozici, využijte první postup nahrání hry popsaný výše.

Po potvrzení instalace se objeví zpráva o úspěšném provedení instalace - klikneme na zavřít:

Instalace adb úspěšná - Programujeme Android hru

Vykřičník nám ve správci zařízení zmizel a nyní se naše zařízení objevuje jako Android Device:

Adb v device manager OK - Programujeme Android hru

Znovu spustíme Eclipse, nyní se po stisknutí tlačítka play naše zařízení v nabídce opět objevuje a můžeme tak naší hru okamžitě instalovat a spustit.

Na závěr nutno dodat, že tento druhý postup nahrání appky do zařízení, je pro ladící účely. Tím, že se nemusíme starat o klíč, bude appka do zařízení nainstalována s debug klíčem.

Finální exportovaný apk balíček naší hry a ikony jsou níže přiloženy ke stažení.


 

Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 38x (1.72 MB)
Aplikace je včetně zdrojových kódů v jazyce Java

 

Předchozí článek
Programujeme Android hru - Jednoduchá herní smyčka
Všechny články v sekci
Programujeme Android hru
Článek pro vás napsal Jaroslav Polívka
Avatar
Uživatelské hodnocení:
4 hlasů
Autor se věnuje převážně jazykům JAVA a C++
Aktivity