Last time I checked, pure NDK apps are best for games that use OpenGL as their primary interface. If you want native controls, you can't really do that entirely from the NDK side.
So far I have endured the NDK because I cared more about playing around with graphics between Android and WP on my hobby coding.
Something like Qt allows for native like controls, but one is loosing the functionality the platforms offer for free, as well as, increasing the APK size considerably. And JNI wrappers are still required for interacting with the OS for intents and such.
From the JVM languages Clojure would be a good candidate for staying in Android user space and also allow targeting iOS (RoboVM) and WP (Clojure-CLR), specially with the help of the upcoming reader conditionals.
But with this performance, Xtend, Kotlin and Scala appear to be better candidates if one is just focusing on Android.