avian make java to binary
java
2016-07-14

使用小型虚拟机avian将Java转为本地程序

avian是一个小型的Java虚拟机,实现了Java的部分基本功能。具体 API 可以看这里。 不过这个虚拟机只提供源代码,需要你在 linux、MSYS 或 Cygwin 下编译好后才能使 用,我在 MSYS 下尝试了一下,总是报错,最后只好转到Ubuntu下面才成功编译。

编译过程很简单,只要遵照他的提示就可以了,不过事先肯定是要装好 GCC 和 JDK 的 (推荐 OpenJDK ),目标为 win32 平台时,还需要 win32 的头文件和库,可以从它 的 git 站点下载。 下载后解压到和 avian 源文件夹并列放置。

$ export JAVA_HOME=/usr/local/java #JDK位置
$ make platform=windows arch=i386

make 后面的平台和架构都有其他的选项,比如 linux/darwin x86_64 等,具体参数可 以看 这里,编译完成后在 build 目录下应该有个 windows-i386 文件夹,里面就是编 译好的虚拟机和示例程序。使用avian的好处就在于它很小,可以直接转为本地程序, 下面就是在 ubuntu 的 mingw 和 avian 环境下,编译 JAVA 程序并且将其转化为可以 在 Window上运行的普通程序

avian 小型 JAVA 虚拟机(window-i386 版本) mingw交叉编译环境(现在更加新的可以 采用ming-w64来编译)

其中 java 可以是更高的版本,最后把 {project}.exe 复制回 Windows 即可,在只加 入 SWT 的情况下,程序的大小是2M多。

其它文章