Können Sie "normale" Java-Programme auf Android ausführen?

12

Ich kenne etwas "normales" Java (Computer Java) und möchte ein solches Programm auf meinem Android-Gerät ausführen. Ist das möglich? Wenn ja, wie?

scheurneus
quelle

Antworten:

10

Im Allgemeinen ist dies nicht möglich, da Java mit Android-Geschmack zwar dieselbe Syntax und Semantik wie typisches Java hat, jedoch nicht auf derselben virtuellen Maschine ausgeführt wird (Google verfügt über eine eigene VM, mit der alle Android-Telefone ausgeliefert werden und die ein anderes Bytecode-Format hat als herkömmliche Java-VMs) verwendet oder hat keinen Zugriff auf die Java-Standardbibliothek von Oracle. Google hat die meisten wichtigen Elemente neu implementiert (z. B. hat Google eine eigene Implementierung von HashMap, ArrayList usw.) und viele andere Dinge verworfen (z. B. gibt es kein Swing-Paket in der Google-Bibliothek).

Dwgill
quelle
3

Sie können dies ganz einfach tun, da es viele Möglichkeiten gibt, Java-Apps auf Android auszuführen. Eine bestimmte Anwendung namens Java Emulators kann dies ganz einfach tun.

Dies sind die beliebten Java-Emulatoren für Android: JBED, PhoneME, Jblend und NetMite. Es sind in der Reihenfolge meiner Präferenz angeordnet. Sie können PhoneME für nicht gerootete Geräte verwenden. Wenn Ihr Gerät jedoch gerootet ist, versuchen Sie eine der verbleibenden drei Anwendungen.

Himanshu
quelle
2

Wenn mit "normalem" Java (Computer-Java) Java Standard Edition (J2SE - die Java-Programme, die normalerweise auf einem PC ausgeführt werden, wie Eclipse, Vuze usw.) gemeint ist, lautet die Antwort höchstwahrscheinlich nein. Es gibt keine Möglichkeit, sie direkt auf Android auszuführen, und es gibt keine (mir zumindest nicht bekannten) Apps oder Modifikationen, die dies zulassen.

Die in anderen Antworten erwähnten Apps (Emulatoren) gelten für die J2ME-Umgebung (Java2 Micro Edition, auch als MIDP und Anwendungen als "Midlets" bekannt). Dies sind die Java-Anwendungen für mobile Geräte, die vor dem Erscheinen von Android beliebt waren.

David Balažic
quelle
0

Sie könnten mit JBED yry . JBED ist ein Programm, das die Möglichkeit bietet, Java-Anwendungen (.jar-Dateien, glaube ich) auf Geräten mit Android-Betriebssystem zu verwenden. Ich habe es nie benutzt, kann also nicht persönlich dafür bürgen.

Erdnuss
quelle
1
Laut der Auflistung auf der zwielichtigen Website eines Drittanbieters, auf die Sie verlinkt haben, gilt dies nur für mobile J2ME-Applets. Das OP sagte nicht, ob es das war, was sie wollten.
Dan Hulme
Ich weiß, dass die Seite nicht großartig ist, es gibt XDA- und DroidBeans-Links, wenn OP Google dafür möchte, aber es heißt, dass es .jars ausführen kann, als das vollständige JavaSE exportiert werden kann. Wenn ich die Möglichkeit habe, es zu testen, werde ich es aktualisieren.
Erdnuss
1
Der Vollständigkeit halber bietet diese Website eine Anleitung zur Installation und Verwendung der App. Ich habe auf Lollipop getestet, aber es hat nicht funktioniert (die Readme-Datei sagt über Lebkuchen, daher bin ich mir nicht sicher, ob es mit dem neuesten Android kompatibel ist). (Haftungsausschluss: Ich habe keine Beziehung zum Blog und seinem Blogger. Ich bin nur neugierig auf diese App aus einer anderen Frage und habe diesen Artikel gefunden.)
Andrew T.