I started the port long before the NDK existed, and I still haven't switched over to using since it still doesn't completely meet my needs.hachigoro wrote:I have read the FAQ, and you say that to be able to run it on Android you turned it into a JNI library. I know very little of Java but, is the Android NDK supposed to do that? When I read the initial discussion about Android running Java and thus not being able to run ScummVM, the first thing I thought was: "well, with the NDK the problem is solved". Could you tell how you managed to port it so I can understand it? :o
In particular, for efficiency (speed and size) I use tremor and skia (2D graphics) libraries from Android and direct C++ calls into the audio and graphics systems. None of this is officially supported by the NDK, and is the reason the port doesn't Just Work on Android 2.0.
I did get complaints about the size of the package - but you are right, the previous size (I forget, something like 8Mb installed) was acceptable imo. The main problem was that it was preventing me adding new engines, because each one had a cost for every user. To put it into perspective, the engines that I now have available would be about 15Mb on the flash (10Mb unpacked + 5Mb compressed apks, which is what Android does). Previously I couldn't enable some experimental engine just because someone asked - now I could do so easily.hachigoro wrote:And regarding the last update splitting into different engines. I think that a 10 MB package should not be a great problem. Dream users usually have Apps2SD on their phones, and the rest of terminals have plenty of free space. And maybe that splitting could make it more difficult to merge your project to the official ScummVM I think.
It is unfortunate that the Android market doesn't make this nicer - any suggestions you have for making this clearer/easier are welcomed.
Oh, and the code/build is structured so that if you don't enable dynamic plugins then you get a monolithic package with whatever engines you have built statically. I don't expect this will cause concerns when merging projects.