Hello,
I decided to make this post to share my experience while converting my engine from sfml normal use to a full cross-platform solution. Mainly about the things that came in the way.
1 - Main function
No more main function as you need a thin Java layer to interact with your native code, and the activity lifecycle is controlled by the Java.
2 - Asset managing
The usual way to have assets is to pack them in the /assets/ directory in your APK, and they are inside a zip later in the device. There are tricks to read them with FILE* but you need to be really carefull.
3 - Sound
In android ndk, you can use OpenSL ES for sound, but its not recommended as it adds trouble and only supports android 2.1+ if im not mistaken. Java sound access would be better, and that means sf::Sound stuff won't do.
4 - Graphics
OpenGL ES is a must, and must be conditionally compiled along with OpenGL if you want cross-platform apps. Also GLU is not available in android, but you may use GLUES, which is handy.
I can complete this list with more detail and items if you find it interesting, as i've passed through all major porting issues so far, i'd say. This is just to mention that porting to android is not going to be that simple as changing the rendering code.
Hope it helps