Maximale Kompatibilität?

Status
Nicht offen für weitere Antworten.

RedNifre

Mitglied
Hallo!

Was muss ich tun, damit meine Programme möglichst auf jedem Handy laufen?
(Bin absoluter Anfänger was die JavaME betrifft und habe noch kein Programm zum Laufen gekriegt)

Im Moment habe ich folgendes Problem mit meinem Nokia 6230i:
Ich habe ein minimales "Hello World"-Programm geschrieben, was auch wunderbar in den Sun-Emulatoren läuft, unabhängig welches WTK ich verwende.

Wenn ich es aber auf mein 6230i übertrage läuft es nicht. Es erscheint zwar im Ordner "Sammlung" und zeigt sogar das Icon, dass ich im JAD angegeben habe, der Name wird aber grau angezeigt. Wenn ich es starten möchte kommt die Fehlermeldung "Programm ungültig!".
Im Kontextmenü kann ich das Programm nur löschen, alle anderen Optionen (Zum Beispiel "Details") sind ausgegraut.

Was muss ich in Eclipse einstellen, damit es läuft?
 

The_S

Top Contributor
Maximale Kompatibilität erreichst du, indem du alles relativ hältst (was aber teilweise recht viel Rechenaufwand erfordert). Generell kannst du so gut wie alle Emulatoren in die Tonne treten - nur wenn ein Programm auf einem Emulator läuft, heißt das noch lange nicht, dass die selbe Anwendung auch auf dem dazugehörigen Echtsystem so läuft. Du hast hier aber kein Kompatibilitätsproblem, sondern musst erstmal überhaupt eine Anwendung zum Laufen bekommen ;) .

Ist das Manifest und/oder das JAD richtig konfiguriert?
 

RedNifre

Mitglied
Danke!

Die Angaben habe ich alle relativ gehalten, es läuft auch perfekt in allen Sun-Emulatoren, unabhängig von der Auflösung.
Im JAD habe ich alles auf die niedrigste Versionsnummer gesetzt (ohne zu wissen was das alles überhaupt ist).
Von der Manifest-Datei weiß ich garnichts, wird die nicht automatisch generiert?

Gibt es ein einfaches Rezept, wie ich EclipseME dazu kriege, das JAR/JAD so zu kompilieren, dass es auf meinem Nokia 6230i (Series 40) läuft?
 

The_S

Top Contributor
Das Manifest wird in das JAR (anhand der JAD) integriert. Das geschieht automatisch. Wenn du alles im JAD auf die niedrigste Version stellst, dann musst du auch mit dieser Version kompiliert haben. Ich vermute mal du verwendest das MIDP 2 und nicht 1!?
 

RedNifre

Mitglied
Hm, ich glaube nicht.

In EclipseME kann man den JAD sehr komfortabel editieren. Da habe ich MIDP1.0 ausgewählt und schätze, dass sich Eclipse beim Kompilieren danach richtet.

Andererseits weiß ich garnicht, ob das JAR/JAD was erstellt wird überhaupt läuft. Bisher habe ich das Programm nur in Eclipse per Run-Dialog gestartet. Bei gewöhnlichen Java-Programmen muss man ja vor der Erstellung des JARs angeben, wo die main-Methode liegt. Gibt es bei JavaME etwas ähnliches, sprich, muss ich angeben wo die startApp-Methode liegt?
 

The_S

Top Contributor
RedNifre hat gesagt.:
In EclipseME kann man den JAD sehr komfortabel editieren.

Ich kenne Eclipse-ME.

RedNifre hat gesagt.:
Da habe ich MIDP1.0 ausgewählt und schätze, dass sich Eclipse beim Kompilieren danach richtet.

Nein, tut Eclipse nicht. Warum auch!?

RedNifre hat gesagt.:
Gibt es bei JavaME etwas ähnliches, sprich, muss ich angeben wo die startApp-Methode liegt?

Das wird im JAD/Manifest angegeben.
 

RedNifre

Mitglied
Ehm, wo genau kann ich denn noch die MIDP einstellen? In den Projekt-Properties kann ich nur das WTK wählen (Hab ich ja auf WTK104 gesetzt).

RedNifre hat folgendes geschrieben::
Da habe ich MIDP1.0 ausgewählt und schätze, dass sich Eclipse beim Kompilieren danach richtet.



Nein, tut Eclipse nicht. Warum auch!?
Naja, ich dachte dass einem EclipseME die ganze "Grunt Work" abnimmt. Und da man die JAD über eine GUI editiert dachte ich, dass die Änderung darin von Eclipse beachtet werden.
Sei's drum, wo stelle ich die MIDP richtig ein? Und was muss ich noch anpassen?

RedNifre hat folgendes geschrieben::
Gibt es bei JavaME etwas ähnliches, sprich, muss ich angeben wo die startApp-Methode liegt?

Das wird im JAD/Manifest angegeben.
Wo denn genau? Ich finde es nicht. :-([/code]
 

The_S

Top Contributor
Bei den Preferences unter J2ME => Device Managment kannst du zum Einen den gewünschten Emulator auswählen (Dort findest du auch, welche CLDC bzw. MIDP Version verwendet wird). Wenn du nur das 1.04er WTK installiert hast, dann sollte da wohl auch die 1er MIDP-Version dabei sein (hab bis jetzt nur mit dem neuesten WTK entwickelt).

Im JAD-Editor von Eclipse => Midlets stellst du das gewünschte Mitdlet ein.
 

RedNifre

Mitglied
Ich hab erstmal die Nokia Developer FAQ durchgelesen und dann alles genau für die Series 40 eingestellt (Also WTK2, MIDP 2.0, CLDC 1.1).
Aber wahrscheinlich lag es nur daran, dass ich keinen Einstiegspunkt im JAD gesetzt hatte.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben