Java 在android上运行j2me应用程序?

Java 在android上运行j2me应用程序?,java,android,java-me,Java,Android,Java Me,可以在android上运行java SE或java ME应用程序吗?不,不支持java ME。您需要更改用户界面才能在Android上操作 但是,JavaSE的基本库大部分都是受支持的,只有例外(比如没有Swing)。你仍然需要给你的应用程序一个视图和意图,否则系统将无法启动它(没有内置的“控制台模式”)。如果你在谷歌上搜索“J2ME runner android”,你会发现一些声称允许你在安卓上运行J2ME项目的项目 e、 g 我不确定您在本例中所说的JavaSE是什么意思。从技术上讲,Dal

可以在android上运行java SE或java ME应用程序吗?

不,不支持java ME。您需要更改用户界面才能在Android上操作

但是,JavaSE的基本库大部分都是受支持的,只有例外(比如没有Swing)。你仍然需要给你的应用程序一个视图和意图,否则系统将无法启动它(没有内置的“控制台模式”)。

如果你在谷歌上搜索“J2ME runner android”,你会发现一些声称允许你在安卓上运行J2ME项目的项目

e、 g

我不确定您在本例中所说的JavaSE是什么意思。从技术上讲,Dalvik更接近J2SE而不是J2ME。这里有大量的API,代码可能会交叉编译而不会出现问题。您甚至可以在项目中包含许多J2SE JAR,并使用构建工具将它们从字节码重新编译为DEX


然而,基础设施大不相同,你不可能在没有更改和重新编译的情况下为运行标准JVM的桌面编写/编译一个应用程序来在Android上工作。

为了确切知道Android支持哪些库,哪些库被遗漏,你可能需要检查一下

其中Ed Burnette提到了以下内容:

支持以下标准 在Android中,软件包作为 最新版本候选的。 参考Java2平台标准 第5.0版API文档 关于如何使用它们的信息

* java.io - File and stream I/O
* java.lang (except java.lang.management) - Language and exception
* support
* java.math - Big numbers, rounding, precision
* java.net - Network I/O, URLs, sockets
* java.nio - File and channel I/O
* java.security - Authorization, certificates, public keys
* java.sql - Database interfaces
* java.text - Formatting, natural language, collation
* java.util (including java.util.concurrent) - Lists, maps, sets, arrays, collections
* javax.crypto - Ciphers, public keys
* javax.net - Socket factories, SSL
* javax.security (except javax.security.auth.kerberos, javax.security.auth.spi, and javax.security.sasl)
* javax.sound - Music and sound effects
* javax.sql (except javax.sql.rowset) - More database interfaces
* javax.xml.parsers - XML parsing
* org.w3c.dom (but not sub-packages) - DOM nodes and elements
* org.xml.sax - Simple API for XML
通常不支持这些软件包 Java 2平台标准的一部分 版本,不受Android支持

* java.applet
* java.awt
* java.beans
* java.lang.management
* java.rmi
* javax.accessibility
* javax.activity
* javax.imageio
* javax.management
* javax.naming
* javax.print
* javax.rmi
* javax.security.auth.kerberos
* javax.security.auth.spi
* javax.security.sasl
* javax.swing
* javax.transaction
* javax.xml (except javax.xml.parsers)
* org.ietf.*
* org.omg.*
* org.w3c.dom.* (sub-packages)
除了 上面列出的标准库, Android SDK附带了许多 为您的应用程序提供第三方库 方便

* org.apache.commons.codec - Utilities for encoding and decoding
* org.apache.commons.httpclient - HTTP authentication, cookies, methods, and protocol
* org.bluez - Bluetooth support
* org.json - JavaScript Object Notation

我知道这是一个旧的线程,但由于我花了很长时间在这里为自己寻找解决方案,我认为我应该分享,无论谁在谷歌搜索时发现了这个线程

我也尝试了上面的建议,比如Jbed和Netmite J2ME Runner,但运气不好

后来我找到了音素:


在我看来,这是最好的Android JavaME模拟器

在android上运行java应用程序有很多方法,因此您可以很容易地做到这一点。称为Java Emulators的特定应用程序可以很容易地实现这一点

android有四种最流行的java模拟器,即JBED、PhoneME、Jblend和NetMite。有一些是按他们的喜好排列的。您可以将phoneme用于无根设备,但如果您的设备是根设备,请尝试其余三种应用程序中的任何一种


要知道如何安装和配置所有这些应用程序,只需遵循以下链接:

还有一点很有意思,即标准库在标准库的时间快照中被冻结。例如,Httpclient基于一个版本的测试版,两个库的方向略有不同。在大多数情况下,它们基本上是兼容的,但是如果您的代码依赖于Httpclient,则可能需要进行一些更改。