Not really. Many languages emit bytecode at runtime. I saw a Clojure solution to this once which involved writing the bytecode to a local file, running the Dalvik compiler (locally, on the mobile device!) to create an apk, and loading it. Clearly, that's jumping through hoops.
That's not really fair, tbh, (and I'm a huge fan of Clojure). It's dog-slow on Android. I don't know the details, but I think it's has a lot to do with differences between Dalvik and Hotspot.
Right, but that's not terribly relevant to this thread. As I understand it the difference between Clojure on Dalvik and Java on Dalvik is much greater than Clojure on Hotspot and Java on Hotspot.
See here for Clojure: http://dev.clojure.org/display/design/Android+Support
"Works out of the box with 1.2.0+" -- other JVM languages should have a similar story.