Besides RoboVM [1], there are also other solutions, like Codename One [2] that's based on XMLVM [3], or Avian [4] which is a new and very promising lightweight VM that can also compile code to native. And there's also J2ObcC [5] a compiler that's being developed and used by Google to share code between Android and iOS.
You know, Java can be many things, but you can't beat its ecosystem ;-)
[1] http://www.robovm.org/
[2] http://www.codenameone.com/
[3] http://xmlvm.org/overview/
[4] http://oss.readytalk.com/avian/
[5] http://code.google.com/p/j2objc/