2010-06-28 206 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/