编者注:RoboVM 项目已经关闭,目前有开源替代产品 BugVM。
RoboVM 编译器可以将 Java 字节码翻译成 ARM 或者 x86 平台上的原生代码,应用可直接在 CPU 上运行,无需其他解释器或者虚拟机。
RoboVM 同时包含一个 Java 到 Objective-C 的桥,可像其他 Java 对象一样来使用 Objective-C 对象。大多数 UIKit 已经支持,而且将会支持更多的框架。
编译工具基于 GPLv2 许可协议,其他代码使用 Apache 许可。
示例:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello world!"); } }
使用 javac 编译:
mkdir classes javac -d classes/ HelloWorld.java
使用 robovm 编译:
/opt/robovm/bin/robovm -verbose -cp classes/ HelloWorld
将生成应用程序:HelloWorld/HelloWorld ,可直接执行。
HelloWorld 文件夹内容:
HelloWorld/lib/boot/robovm-rt.jar HelloWorld/lib/classes0.jar HelloWorld/HelloWorld