24. září 2015

První aplikace pro Android

První aplikace pro Android


Podařilo se mi zprovoznit Android modul do Game Makeru a okolo půlnoci ze včerejška na dnešek jsem vytvořil svou první vlastní Androidí aplikaci. Nedělá sice skoro nic, ale taky nedělá potíže. A to je co říct.

Android modul jsem koupil v balíčku Humble Bundle za desetinu jeho ceny a to ještě spolu s licencí na GMS:Pro a několika herními tituly vyrobenými v Game Makeru včetně jejich zdrojových kódů. V balíčku byla také sada YoYo:RPG, která se na marketplace prodává za 19.90$. Tomu prostě nejde odolat.

Nákup je ovšem jedna věc a použití druhá. V první řadě nebylo snadné si zakoupenou licenci vůbec uplatnit. Funguje to totiž tak, že Humble Bundle pošle mailem kód, který po přihlášení na Yoyogames account lze po ověření přetvořit na licenci, kterou pak může uživatel přihlásit k zakoupené verzi GMS:Pro. Drobná potíž byla v tom, že přílišný zájem shodil u YYG server a licenci nějakou dobu uplatnit nešlo. Takže jsem po nákupu musel počkat, až jim to pojede.

Další fór je instalace software a hardware potřebného k vytváření Androidí aplikace. Je nutné mít připojeno jedno Androidí zařízení, nejlépe po USB ( prý to jde i po WiFi, když je s GMS na stejné síti ). To sice nezní tak hrozně, protože telefon s Androidem má skoro každý a kus USB drátu se vždycky najde, ale to bohužel není všechno. Na straně GMS to prošlo celkem hladce. Stačilo online update licencí pomocí YYG účtu. Prostě se GMS přihlásí k jejich serveru a licence načte. Cosi to stáhlo a šup, už jsem měl v About  napsáno, že licence pro Android je aktivní. Pak jsem začal zjišťovat, co je pro provoz ještě potřeba dál.

V manuálu se píše, že potřebuji Android SDK a pro compiler i NDK. Hm, fajn. Co to je a kde to vezmu jsem vyklikal rovnou z odkazů v manuálu. Nemám moc rychlé připojení, tak je každé větší stahování docela opruz. SDK i NDK se instaluje každé trochu jinak. SDK je sada balíčků spravovaných SDK Managerem. V něm si jde zaškrtnout, které balíčky člověk chce a ty se pak stáhnou a nainstalují víceméně automaticky. NDK se prostě jen rozbalilo do adresáře a nic. Nedával jsem moc pozor, takže se mi to vysypalo do Downloads a já to pak marně hledal v nainstalovaných programech. Vzhledem k tomu, že se pak musí Game Makeru ukázat cestu k těm souborům, je poloha adresáře celkem důležitá.

Po nainstalování SDK, NDK a Android Studio IDE ( jel jsem systémem "chci mít všechno" ), jsem zjistil, že nemám dost Javy a tak jsem musel ještě číst onu skvělou hlášku oznamující, kolik miliónu strojů běží na Javě. Jenže pak to stejně nejelo. GMS psalo, že rozjíždí na telefonu Yoyo Runner, ale tam se dělo klasicky kulové. Z online helpu u YYG jsem vyčetl, jak v příkazovém řádku ověřit spojení s telefonem. Psalo to "unknown", čili stav neznámý. A to je blbě. Pro některé telefony je specifický postup, ale o mém typu se nikde nic nepsalo. Po nějakých pokusech, hromadě pročtených návodů jsem přeinstaloval USB driver ( musí podporovat tzv. ADB - android debugging bridge ), přepnul telefon do vývojářského režimu ( skrytá funkce se odemyká vícenásobným klepáním na číslo verze - build ), zapnul na něm USB ladění ( dobrý vtip byl, že to nešlo, když byl připojený k počítači ) a hur, hur, hurá. Stav připojení k telefonu je "device". Spousta kroků pro člověka, ale celkem žádný pokrok pro lidstvo.

Zjistil jsem, že SDK balíčky v manageru zapnuté defaultně nestačí. Našel jsem seznam těch, které by tam být měly ( tuším že to bylo někde v YYG knowledge base ) a naklikal je tam. Pak se to věčnost stahovalo, ale výsledek stál zato. GMS se spojilo s Yoyo runnerem ( ten jsem předtím v zoufalství nainstaloval z Googleplay i když by ho tam měl našupat právě funkční ADB ) a na telefonu se objevilo první game makerovské okno. Jsa opojen úspěchem, zachtělo se mi exportovat taky APK. A hele ono to nešlo.

V balíčcích přece jen něco chybělo. Error výpis ukazoval na nějakou část API16. Tak jsem znovu nastartoval SDK manager a v té chvíli mi to napsalo 25 balíčků k aktualizaci. Já naivní hlupák jsem klikl na instalovat a hned u třetího balíčku ( mimochodem jen nějaká dokumentace ) se objevilo connection lost a zatuhlo to. Po opětovném startu už nebyly k dispozici ani ty balíčky, které jsem předtím měl a tudíž už se se mnou GMS zas nebavilo. Zjistil jsem, že spojení padá, když se nehýbe myš ( zní to divně, ale je to tak ). Tak jsem něco přes hodinu šmejdil myší po liště. Podařilo se mi zaktualizovat skoro všechno, ale lezlo to tak pomalu, že by se té rychlosti slimáci smáli.

Někdy skoro k půlnoci jsem měl první apk a pro snadné nainstalování jsem si hodil na dropbox, který jsem pak v telefonu snadno otevřel. Z něj se apk automaticky nabídne k instalaci. Můžete si testovací apku zkusit, je ke stažení >zde<. Udělá jen okno s pozadím, jedním tlačítkem, které ukáže nápis Android. Měl by se ozvat zvukový efekt a pak už je tam jen křížek na vypnutí.

Co všechno na Androidu Game Maker umí budu asi ještě zkoumat dlouho, ale hned na první pohled je jasné, že problém bude všechno, co nejde odladit předem na Windows. Než se totiž na telefonu projekt rozjede trvá docela dlouho a když se to musí udělat s každým hloupým errorem, tak to sežere spoustu času.

Každopádně je velice hezký pocit, dokopat to k cíli a vidět svoji věc jet na telefonu.



1 komentář:

  1. Taky si vzpomínám, jak jsem tvořil první apku na android - takovou jednoduchou bludišťovku. Naštěstí už jsem měl zkušenosti s vývojem na android v Javě a zprovoznit SDK a spol je v GMS oproti AndroidStudio / Eclipse procházka růžovou zahradou. :-)

    OdpovědětVymazat

Komentář vypovídá většinou o autorovi víc, než by byl jinak ochoten sdělit.