Jean-Baptiste Arnaud announced today that he could run Pharo on Android. The previous VM version was 4 years old and was diverging more and more from the VM code because it was not a delta but a complete fork of the code. This smells like a good candidate for the ESUG 2014 technology award.
Here is his announce:
I made some advances on Android StackVM (using the standard unix sources).
Last Unix Stack VM with last 40Pharo image (a little bit modified cause au no-NativeBoost and some constraint from the Android Sandboxing ).
– Somes lines of code change in SqUnixMain.c (using if define android, but not a lot, just for allow to load external lib :-).
– 1 communication with java / C files, (will be split in two or three file one for printing debugging, one or two for core).
– 1 external graphical plugins. vm-display-android, really short but for android, because the rendering is done by Android.
All these plugins are includes (not deeply tested yet, but most of them should work):
AndroidPlugin (for now I just allow to do debug printing from the image in the logCat), BitBltPlugin, B2DPlugin, BMPReadWriterPlugin, CroquetPlugin, DSAPrims, FFTPlugin, FileCopyPlugin, FilePlugin, FloatArrayPlugin, FloatMathPlugin, JoystickTabletPlugin, JPEGReaderPlugin, LargeIntegers,Matrix2x3Plugin, RePlugin, SecurityPlugin, JPEGReadWriter2Plugin, SocketPlugin, MiscPrimitivePlugin, ZipPlugin.
And a lot of debugging. :-).
– fixing all the Events.
– Do a real Configuration generator to be able to generate from Jenkins using the NDK.
– Then merge in the main PharoVM Git :-).
– Do a configuration to allow older pharo image to run on it. Maybe older but I not convince yet.
– And obviously a job for allow anybody to create a android package with it’s own image 🙂
See you soon 🙂