.[ ČeskéHry.cz ].
Technologické nároky vývoje pro Android
Jdi na stránku 1, 2  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
TeaTime



Založen: 17. 06. 2011
Příspěvky: 264

PříspěvekZaslal: 18. říjen 2013, 20:16:06    Předmět: Technologické nároky vývoje pro Android Odpovědět s citátem

Ahoj, jaké technologie jsou rámcově dostupné pro vývoj her na Android. Mám ve zvyku vyvíjet sw nativně v C++/OpenGL, ale co vím, tak Android je spíš na Javu.

Jak to řeší třeba velké projekty? Jak tohle řeší třeba Unity3D nebo jiné multiplatformní projekty/enginy/hry? Mít celý kód v Javě a ještě nativně se mi zdá nesmyslné, stejně tak se mi ale zdá nesmyslné psát celý herní engine v Javě. Takže docházím k názoru, že existuje nějaký používaný způsob spouštění nativního kódu. Předpokládám, že pokud jako autor případného sw pro Android nepožaduji přístup ke GUI knihovnám Androidu, tak bych to měl mít poněkud snazší.

Díky.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Val



Založen: 18. 06. 2013
Příspěvky: 19

PříspěvekZaslal: 18. říjen 2013, 20:41:00    Předmět: Odpovědět s citátem

V C++ muzes pro Android klidne vyvijet viz NDK http://developer.android.com/tools/sdk/ndk/index.html
Jak to resi Unity netusim, vim jen, ze LibGDX ma i neco v nativnim kodu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
TeaTime



Založen: 17. 06. 2011
Příspěvky: 264

PříspěvekZaslal: 18. říjen 2013, 20:53:06    Předmět: Odpovědět s citátem

Val napsal:
V C++ muzes pro Android klidne vyvijet viz NDK http://developer.android.com/tools/sdk/ndk/index.html


Ehh, googlit umím, název NDK i nějakou tu specifikaci jsem si pročetl, ale je to použitelné pro danou aplikaci? Co to obnáší a používá se to k tomuhle účelu? Je to vyvíjené aktivně (co podpora c++11)? Díky.

Val napsal:
LibGDX ma i neco v nativnim kodu.
Díky, kouknu na to.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Val



Založen: 18. 06. 2013
Příspěvky: 19

PříspěvekZaslal: 18. říjen 2013, 21:29:50    Předmět: Odpovědět s citátem

Nevim, jako vetšina si vystačím na Androidu s Javou.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 18. říjen 2013, 22:18:40    Předmět: Odpovědět s citátem

Mono a C# je taky možné.
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
TeaTime



Založen: 17. 06. 2011
Příspěvky: 264

PříspěvekZaslal: 18. říjen 2013, 22:44:23    Předmět: Odpovědět s citátem

Vilem Otte napsal:
Mono a C# je taky možné.


Opět: měl bys nějaké info o tom, jakým způsobem tam běží to Mono?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
martin.developer



Založen: 11. 10. 2013
Příspěvky: 9

PříspěvekZaslal: 18. říjen 2013, 22:49:26    Předmět: Odpovědět s citátem

TeaTime napsal:
Opět: měl bys nějaké info o tom, jakým způsobem tam běží to Mono?


Většinou se použije Mono (MonoTouch, Mono for Android, Xamarin.iOS, Xamarin.Android či jiná implementace) a třeba nějaký C# kód, který je potom pomocí AOT (namísto JIT) kompilován do nativního (ARM) kódu. A daná Mono implementace má bindings do daného nativního frameworku platformy (Cocoa Touch, Android/Java) tudíž je možné používat i nativní prvky. Případně je možné i napsat nativní kód (Java, Objective-C, C++) a udělat si binding do Mona.

Tohoto využívá například Xamarin nebo Unity3D.

- http://xamarin.com/how-it-works
- http://www.mono-project.com/AOT
- http://answers.unity3d.com/questions/9675/is-unity-engine-written-in-monoc-or-c.html
- http://answers.unity3d.com/questions/8555/what-is-mono-is-it-a-compiler-a-language-or-what.html
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
TeaTime



Založen: 17. 06. 2011
Příspěvky: 264

PříspěvekZaslal: 18. říjen 2013, 23:16:45    Předmět: Odpovědět s citátem

martin.developer napsal:
TeaTime napsal:
Opět: měl bys nějaké info o tom, jakým způsobem tam běží to Mono?


Většinou se použije Mono (MonoTouch, Mono for Android, Xamarin.iOS, Xamarin.Android či jiná implementace) a třeba nějaký C# kód, který je potom pomocí AOT (namísto JIT) kompilován do nativního (ARM) kódu.


Mě by zajímalo, jak právě dělají to, že můžou spouštět nativní binárky a volat z nich to Android API.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
martin.developer



Založen: 11. 10. 2013
Příspěvky: 9

PříspěvekZaslal: 19. říjen 2013, 09:39:26    Předmět: Odpovědět s citátem

Používá se k tomu Java Native Interface (JNI). Tady je celý proces celkem pěkně popsán http://manski.net/2012/03/accessing-java-classes-from-mono-for-android-via-jni/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
TeaTime



Založen: 17. 06. 2011
Příspěvky: 264

PříspěvekZaslal: 19. říjen 2013, 10:33:31    Předmět: Odpovědět s citátem

martin.developer napsal:
Používá se k tomu Java Native Interface (JNI). Tady je celý proces celkem pěkně popsán http://manski.net/2012/03/accessing-java-classes-from-mono-for-android-via-jni/


Dík
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 19. říjen 2013, 17:49:32    Předmět: Odpovědět s citátem

s libc na droidu je to obcas sranda, spousta veci tam chybi, jako treba kompletni wchar_t, ktery jede jen v nejakem alternativnim NDK

ale jinak JNI funguje pekne

pote co jsme si zimplementovali COM i pro Android jede nase aplikace celkem v pohode v nativu a jen vrchni skorapka GUI je v Jave
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
TeaTime



Založen: 17. 06. 2011
Příspěvky: 264

PříspěvekZaslal: 19. říjen 2013, 18:23:02    Předmět: Odpovědět s citátem

rezna napsal:
s libc na droidu je to obcas sranda, spousta veci tam chybi, jako treba kompletni wchar_t, ktery jede jen v nejakem alternativnim NDK

ale jinak JNI funguje pekne

pote co jsme si zimplementovali COM i pro Android jede nase aplikace celkem v pohode v nativu a jen vrchni skorapka GUI je v Jave


Aha, skvělé. Co je to vlastně to NDK? To je prostě nějak zabalené JNI nebo ještě něco jiného?

Jestli to dobře chápu, tak je třeba mít minimálně dva soubory: první je java program zabalený ve formátu aplikace pro android a druhý je nativní (platform-specific) kód zabalený jako sdílená knihovna. Android spustí java kód a ten pak může nějak volat funkce z té nativní knihovny. Předpokládám, že i ta knihovna může nějak volat funkce Javy a tím i nějak funkce z API Androidu.

Je k tomu tedy potřeba to NDK nebo to JNI? A co je zapotřebí k volání Java->native a co k native->Java?

Také se pak ai musí řešit konkrétní architektura zařízení, na kterém to chceš spouštět, že? A jak je to vlastně s OpenGL?

Díky.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 20. říjen 2013, 06:56:57    Předmět: Odpovědět s citátem

co kdybys vlezl na stranky NDK a precetl si uvod + tutorialy a trochu probrouzdal webem - je o tom napsano tuna veci, viz i ten odkazovany clanek
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mem



Založen: 28. 07. 2007
Příspěvky: 1959
Bydliště: Olomouc

PříspěvekZaslal: 20. říjen 2013, 08:32:45    Předmět: Odpovědět s citátem

TeaTime: taky můžeš mrknout na přednášku o NDK z aDevCampu 2011 (jen si musíš trochu zvyknout na přebuzený zvuk, nahrávalo se přes XLR a nějak si nesedla kamera a zvukař Wink)
http://youtu.be/fkepepFaRV8
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
TeaTime



Založen: 17. 06. 2011
Příspěvky: 264

PříspěvekZaslal: 20. říjen 2013, 18:24:13    Předmět: Odpovědět s citátem

rezna napsal:
co kdybys vlezl na stranky NDK a precetl si uvod + tutorialy a trochu probrouzdal webem - je o tom napsano tuna veci, viz i ten odkazovany clanek


Četl jsem toho kopu, ale většinou tam vychvalují, jak je to skvělé, ať už s tím chci dělat cokoliv, ale je tam málo o tom, jak to vlastně funguje.

Mem napsal:
TeaTime: taky můžeš mrknout na přednášku o NDK z aDevCampu 2011 (jen si musíš trochu zvyknout na přebuzený zvuk, nahrávalo se přes XLR a nějak si nesedla kamera a zvukař Wink)
http://youtu.be/fkepepFaRV8


Díky, kouknu na to.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna