I have started working towards getting sfml on android by using the ndk.
I have built a cmake tool-chain that compiles for android and tested it with android.(only tested this through windows)
I have also made something similar to SFML_Main for android. As there is no main function in android to try and replicate it. While ndk works by java making natives calls which would mean the calls could be whatever you want and not having a standard way to make a native activity. Fortunately android has an existing activity called nativeActivity(
http://developer.android.com/reference/android/app/NativeActivity.html) which exposes the core functions called during the life cycle of an android activity. Which is what SFML_Main uses.
This is kind of where it goes all to hell. An activity is already a window that calls native code. Which makes the structure of sfml with creating a window after code has started a bit useless. Including all the events and things related to that.
A way around to have code that does net need any modifications when using pure sfml between platforms would be to have my sfml_main store away information about the activity that is needed by the window. Then whenever sfml window is created it could grab all this information. You could then send the activities events through the windows including onPause and all that.
Down side is you would be required to use sfml with sfml main and will not be able to use it with your own custom java front and not using NativeActivity. Which realistically probably isn't that likely.
So I have no idea what the goal should be. And my head is hurting from fighting with cmake ><.
Any suggestions or help would be appreciated. Especially a word from Laurent.