*.class ausführen

  • 2 Antworten
  • Letztes Antwortdatum
M

Mathias1000

Neues Mitglied
0
Ich habe ein HelloWorld.class programmiert, unter Windows kann ich dies laufen lassen.
Geht dies auch unter Android oder muss ich zuerst ein *.apk machen ?
 
Nein, geht nicht.
Unter Android gibts kein Java sondern nur die Dalvik VM die Java VM Binärcode in eigenen Bytecode umwandelt und ausführt, normale Java Anwendungen funktionieren daher auf Android auch nicht...
 
Das ist so nicht ganz richtig: Nicht die Dalvik VM macht aus dem Java Bytecode (aka .class Datei) eigenen Bytecode (.dex Dateien), sondern der Entwickler der App macht das (mit dem Android SDK). Diese .dex Dateien werden dann (+resourcen als apk) auf den Androiden geladen und ausgeführt.

Insofern kann man sehr wohl *.class Dateien auf dem Androiden ans Laufen kriegen. Man muss sie nur mit dem dx-tool umwandeln.

Aber da ist noch ein anderes Problem: Auf Android gibt es nicht die Umgebung, die man vom Desktop kennt. Most notably: Es gibt kein (sichtbares) Stdin/Stdout und die Grafikbibliotheken sind völlig anders (kein Swing, kein AWT, sondern android.graphics und Konsorten). Insofern wird Dir die .class Datei auf dem Android nichts bringen, wenn Du sie nicht in eine App irgendwie einbindest - sprich ein apk selber baust.

Das wäre ein nettes Projekt, für solche Class Dateien einen APK-Rumpf zu bauen.
 
Zurück
Oben Unten