2010-06-28 134 views

回答

5

如果您在Google上搜索“J2ME runner android”,您会发现一些声称允许您在Android上运行J2ME项目的项目。

例如http://www.netmite.com/android/

我不确定在这种情况下Java SE的含义。从技术上讲,Dalvik比J2ME更接近J2SE。有大量的API在那里,代码可能会交叉编译而没有问题。您甚至可以在项目中包含大量的J2SE JAR,并使用构建工具将它们从字节码重新编译为DEX。

http://en.wikipedia.org/wiki/Dalvik_(software)

的基础设施是完全不同的,但是,你不会得到采写/应用程序编译运行的标准JVM在Android上工作,而无需修改和重新编译桌面。

+0

另一种解决方案在Android上运行J2ME:http://upontek.com/Technology.php – Asahi 2010-10-10 23:52:31

2

不,没有Java ME支持。您需要将用户界面更改为在Android上运行。

但是,大多数情况下都支持Java SE的基本库,但有例外(如没有Swing)。您仍然需要为您的应用程序提供View和Intent,否则系统将无法启动它(没有内置的“控制台模式”)。

2

为了确切地知道哪些库由Android和哪些被留下了支持的,你可能要检查Java Libraries Supported by Android

在有埃德伯内特提到以下,

支持下列标准 软件包在Android中被支持为最新发布候选版本的 。 查阅有关如何使用它们的信息,请参阅Java 2平台标准 Edition 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 
+2

同样感兴趣的是,标准库被冻结在标准库的时间快照中。例如,Httpclient基于一个版本的beta版本,两个库的方向稍有不同。大多数情况下,它们大多是兼容的,但如果代码依赖于Httpclient,则可能需要进行一些更改。 – mbafford 2010-06-28 17:57:17

0

我知道这是一个古老的线程,但因为我花了looong时间寻找我自己在这里的解决方案,我想我应该分享,无论谁发现这个线程google搜索时。

我也尝试了像Jbed和Netmite J2ME Runner这样的建议,并且对它们没有什么好运。

后来我发现音素: http://davy.preuveneers.be/phoneme/?q=node/28

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

0

你可以很容易做到这一点,因为有很多方法可以在android上运行java应用程序。称为Java Emualtors的特定应用程序可以很容易地完成。

有四种最受欢迎​​的java模拟器,用于android viz,JBED,PhoneME,Jblend和NetMite。按照他们的偏好排列。您可以将音素用于无根设备,但是如果您的设备已根植,请尝试其余三种应用程序中的任何一种。

要知道如何安装和配置所有这些应用只需按照链接:http://androiddelta.com/run-java-apps-android-using-best-java-emulators/