可以在android上运行JNLP文件吗?

时间:2016-02-16 13:32:51

标签: java jnlp

我想知道是否有办法通过我的android上的JNLP启动Java胖客户端。

使用app或webapplication或maby将其转换为其他文件格式 - annything会对我有帮助。

提前谢谢。

1 个答案:

答案 0 :(得分:3)

Android中的核心虚拟机不是JVM,而是DVM。 Davlik虚拟机是一个基于非堆栈的虚拟机(它是基于寄存器的),可以运行Davlik字节代码(类似于Java字节码,但基于寄存器的操作而不是基于堆栈的操作)。

因此,一般来说,JNLP不会在没有额外努力的情况下工作,因为在JNLP发布中传输的二进制文件将包含Java字节码而不包含Davlik指令。

如果您希望此功能正常工作,您需要拦截JVM字节码并将其交叉编译为Davlik字节码(不确定之前是否已经完成,但谷歌可能是您的朋友)。或者,您必须在Android平台上安装一个真正的JVM(再次不确定这种方法,但它为您提供了一个起点)。

这两个平台之间的混淆来自于源代码(您要编写的文本)是Java源代码的事实;但是,两个环境的编译过程都不会产生JVM字节码,这是在Java平台上运行所必需的。这是它被称为Davlik虚拟机的主要原因之一,而不是Java虚拟机。