You guess incorrectly. Though you can kinda leverage JNI to use native code in an Android app (my Android apps use it, since I wrote the core engine in c... to make it work well with the iPhone, Qt, etc), most people don't, because it's a pain. Nearly all of the Android apps are 100% Java. So basically, you have to re-implement almost everything, and that isn't even considering the OS API differences--merely your logic.