I was thinking about STK on android a bit. And there is quite a lot of work.
- Create a project for android
- Create a wrapper in java to support mouse/touch events, window events etc (we can partially use SDL2 code).
- Compile Supertuxkart dependencies for android
* ogg, vorbis, zlib, png and jpeg libraries are used in SDL2 and can be compiled without problems, so we could use their android.mk files
* openal has been ported for android, for example here:
git://repo.or.cz/openal-soft/android.git but I didn't test it yet
* fribidi can be probably compiled, but if there are problems, it can be simply disabled for now
* I don't know what about libcurl and its dependencies. We should check what we actually need because there is a lot of flags to enable/disable some features. And first check if this can be used on android at all.
* I also don't know if angelscript will work on android. Debian maintainers had some problems to make it working on arm devices.
- Create CIrrDeviceAndroid.cpp file which should basically do the same as other CIrrDevice files (handle events, create window etc...)
- If we decide to put assets in apk file, we should also add some functions in file manager to allow to read these files. It's not that hard, just pass a pointer to assets manager from java to our native appilcation, and then use assets manager library from android ndk.
- Port GL engine to GLES. I remember that vlj said that it's not that hard because GL 3.x is quite similar to GLES 3.0. But some work must be done. Creating egl context is already done by vlj in egl branch (I can upload it if someone needs it). Glew library should be probably removed/modified or replaced by something other because it requires GLX.
- Write nice multitouch steering
- Make smaller version of assets because nobody will install 1GB game on smartphone/tablet
I probably forgot about a lot of other things
Basically I think that it is too much of work if you don't do it 8 hours a day, 5 days a week, but only in your free time.