Segítség kérés SDL fordítás Androidra

Fórumok

Csinált már valaki ~t? Van valamelyik fórumtársnak ilyenben tapasztalata? Próbálom kihámozni a lényeget, de finoman szólva is egy overcomplicated agyfasz ez az egész Android buildelés.

Ami nekem kéne, az minimális dependency-vel annyi, hogy a letöltött SDL.so-ból, a kigenerált main.so-ból és még néhány asset fájlból összerakjon nekem egy .apk fájlt. Tehát lehetőleg C és Java fordítás nélkül, csak a csomagolást oldja meg. Ha itt-ott generálni kell egy xml-t app specifikus sztringekkel a bemenetben hozzá, az nem probléma, azt megoldom, de elsőre az is elég, ha minden egyedi sztringje "helloworld". FONTOS: semmilyen más függőség nincs, csakis az SDL alapfüggvénykönyvtár.

Nézegettem a doksikat és forrásokat, de egy irtó katyvasz az egész, pláne ahhoz képest, hogy az .apk lényegében csak egy zip archívum.

Az SDL hivatalos doksi itt van, a hozzá tartozó repó meg itt. Ezzel az a bajom, hogy egy dependency hell fos az egész, kell neki ndk, cmake, make, ant, gradle, prefab, python meg még isten tudja mi. Ez instant bukó, túl sok verzió, túl sok függőség, túl sok hibalehetőség.
(És akkor arról még nem is beszéltem, hogy a forrásba egy csomó helyen bele van égetve ez-az, túl sok helyen kell belőle a helloworld-öt kiirtani, még xml stroke path-ok is bele vannak vasalva, meg nem használ main()-t, szóval kiiunduló sablonnak totál szar.)

A legjobb megoldás eddig, amit találtam, az ez. Ez SDL2-höz van, de az nem baj, sőt, ahogy nézem kevesebb szívás, úgyhogy jobb is. Ennek nem kell se gradle, se cmake, se python, se stb. és stroke pathok sincsenek beleégetve. Csak ndk kell neki, mert forrásból fordítja az SDL-t. Namost én nem akarom forrásból fordítani, nekem teljesen jó a hivatalos bináris, akár az .aar verzió, akár az, hogy kézzel berakom az ARM-re fordított libSDL.so-t a jni mappába.

Nem akarom ráhagyni a program fordítását se, azt is megoldom inkább magamtól gradle meg minden más fos nélkül. Simán fordítok ezek nélkül egy main.so-t, ami shared library main() függvénnyel ARM architectúrán. Arra is oda tudok figyelni, hogy adott verziójú SDL-lel fordítsam, és simán be tudom másolni az eredményt a jni mappába python meg cmake meg a többi szotty nélkül.

Tudna segíteni valaki ebben, csinált már valaki ilyent? Már az is irtó nagy segítség lenne, ha valaki le tudná fordítani az SDL_helloworld vagy sdl2_on_android repókat és belinkelné ide a letölthető eredmény .apk-t, hogy aztán szétcincálhassam és összevethessem a forrásával.

(ps: amihez kéne, hogy a projektemben generálok egy main.so-t, és ebből meg pár előre legyártott fájlból csináljon nekem egy működő .apk-t. Az egyetlen függőség a libc-n túl az SDL2 vagy 3.)

Hozzászólások

ha a libsdl2.so kell

Kösz, de nem kell, az van. A többi faszságra kéne valami. Például arra, hogy ne kelljen 20G-nyi Android Studio-t telepíteni csak azért, hogy az ember lefordítson egyetlen 5 soros .java fájlt, ami mást sem csinál, csak meghívja a main()-t. Meg az ilyenekre kéne valami.

Igazából az lenne a legjobb, ha lenne valaki, akinek be van röffentve már ez a környezet, és hajlandó lenne segíteni abban, hogy lefordítson nekem egy projektet adott appnévvel és egy üres main() függvénnyel. Az így nyert vázat már tudnám használni, csak kicserélném benne a main.so-t és csók.