您可以在Android上运行“常规” Java程序吗?


Answers:


10

通常这是不可能的,因为Android风格的Java与典型的Java具有相同的语法和语义,但它不能在同一虚拟机上运行(Google拥有其自己的VM,Android手机都随附了该VM,并且字节码格式不同)而不是传统的Java VM),它也不使用或不能访问Oracle的Java标准库。谷歌重新实现了大多数重要元素(例如谷歌有自己的HashMap,ArrayList等实现),并抛弃了许多其他内容(例如谷歌库中没有swing包)。


3

您可以轻松完成此操作,因为有许多方法可以在Android上运行Java应用程序。称为Java Emulators的特定应用程序可以很容易地做到这一点。

这些是适用于Android的流行Java模拟器:viz,JBED,PhoneME,Jblend和NetMite。按我的喜好排列。您可以将PhoneME用于无根设备。但是,如果您的设备已植根,请尝试其余三个应用程序中的任何一个。


2

如果用“普通” Java(计算机Java)来表示Java标准版(J2SE,即通常在PC上运行的Java程序,例如Eclipse,Vuze等...),那么答案很可能不是。无法直接在Android上运行它们,也没有(至少我不知道)允许使用的应用程序或修改。

其他答案中提到的应用程序(仿真器)适用于J2ME(Java2微型版,也称为MIDP,应用程序称为“ midlet”)环境。它们是移动设备的Java应用程序,在Android出现之前就很流行。


0

您可以使用JBED进行查询。JBED是一种程序,旨在提供在具有Android OS的设备上使用Java应用程序(我相信.jar文件)的可能性。我从来没有使用过它,所以不能亲自担保它。


1
根据您链接到的狡猾第三方网站上的列表,该列表仅适用于J2ME移动小程序。OP没有说那是他们想要的。
Dan Hulme

我知道这个网站不是很好,如果OP希望Google拥有XDA和DroidBeans链接,但是它确实说它可以运行.jars,可以将完整的JavaSE导出为.jars。如果有机会进行测试,我会进行更新。
花生2014年

1
为了完整起见,此网站提供了如何安装和使用该应用程序的方法。我在Lollipop上进行了测试,但是仍然无法正常工作(自述文件中提到了Gingerbread,因此我不确定它是否与最新的Android兼容)。(免责声明:我与博客及其博客没有任何关系。只是对另一个问题感到好奇,并找到了这篇文章)
Andrew T.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.