# jad-Datei to N95



## aha_01 (25. Mai 2009)

Hi,
ich habe unter eclipse ein Hello World J2Me Programm geschrieben.
So habe ich dann die Jad-Datei "J2MEHelloWorld.jad".
Meine Frage ist wie kann ich dieses auf mein Handy Nokia N95 ausführen 

Für jede Hilfe bin ich sehr dankbar 


Grüße
Aha


----------



## The_S (26. Mai 2009)

Du schmeißt die JAD in den Müll und kopierst die JAR auf dein Handy. Dann "installieren", dann einfach starten.


----------



## aha_01 (26. Mai 2009)

Danke für die Antwort,
und wo lege ich die jar Datei im Handy genau hin?
unter Programme?
Ich bin ganz new bie in Sachen Programme auf dem Handy installieren 



Grüße
Aha


----------



## The_S (26. Mai 2009)

Das ist egal wohin. Du musst die Installatin nur vom Handy aus starten.


----------



## aha_01 (26. Mai 2009)

Vielen Dank,
ich probiere es aus und sage dann Bescheid 


Grüße
Aha


----------



## aha_01 (26. Mai 2009)

Hi,
Nun habe ich mich gegen ein anderes Problem gestoßen:
Ich benutze Eclipse Ganymede für die Entwicklung. Eclipse macht die jad-Datei Automatisch aber als ich die JAR-Datei machen wollte geht es nicht weil die J2Me Application keine Main- Funktion beinhaltet.
Wenn ich mache: export -> executable jar -> finde ich dann das j2Me-Projekt nicht damit ich die Klasse für die Jar-Datei selektieren kann.

Gibt es eine andere Weise die Jar Datei zu erstellen? Oder kann man es anders in Eclipse machen?


Grüße
Aha


----------



## The_S (26. Mai 2009)

Sofern du EclipseME verwendest:

Rechte Maustaste auf das Projekt, ganz unten findest du dann irgendwas von J2ME, dort wählst du dann build.


----------



## aha_01 (26. Mai 2009)

Hi,
ich habe eben das Paket eclipseMe von dem Link:
SourceForge.net: EclipseME: Files
heruntergeladen.

Kannst du mir bitte erklären wie ich dies in Eclipse einbinden kann? 


Grüße
Aha


----------



## The_S (26. Mai 2009)

Nein. Dafür gibts genügend Seiten im Web, die dir das erklären.


----------



## aha_01 (26. Mai 2009)

Hallo,
danke für die Hinweise, ich habe die EclipseMe eingebunden und habe damit dann die HelloWorld jar-Datei erstellt. :toll:
Anhand von dem USB-Kabel habe ich die jar-Datei aus s Handy übertragen. Leider wenn ich im Handy dir jar-datei installieren möchte bekomme ich den Fehler:
UNGÜLTIGE JAR-DATEI ;(

Hat jemand eine Idee wie ich den Fehler beseitigen kann? 
Also das J2Me-Programme lässt sich gut ausführen unter Eclipse und tut was es tun soll.


Grüße 
Aha


----------



## The_S (27. Mai 2009)

Im Emulator?

Poste mal Code.


----------



## aha_01 (27. Mai 2009)

Hi,
wieso emulator? Im Hany habe ich keine Wahl, nur ausführen und das handy zeigt nichts ob es mit Emulator oder als Applikation. Ich denke im Handy geht man schon davon aus das es im Emulator ausgeführt wird?
Hier ist mein Code:

```
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDletStateChangeException;

public class J2MEHelloWorld extends MIDlet implements CommandListener{
   // Fields
	private Command exitCommand;
	private Form form;
	private Display display;
   // Constructor
	public J2MEHelloWorld(){
	// Make the display ready 
	  display = Display.getDisplay(this);
	// 
	  form = new Form("Midlet's title");
	// Create an Exit command
	  exitCommand = new Command("Exit", Command.EXIT, 2);	  
	  form.addCommand(exitCommand);
	  form.setCommandListener(this);
	 
	// Displays Strings
	  form.append("Platform: "+System.getProperty("microedition.platform")+"\n");
	  form.append("Configuration: "+System.getProperty("microedition.configuration")+"\n");
	  form.append("Profiles: "+System.getProperty("microedition.profiles")+"\n");
	  form.append("Encoding: "+System.getProperty("microedition.encoding")+"\n");
      form.append("Hallo Handy Welt!");
	}
   // Methods
	protected void startApp() throws MIDletStateChangeException{
		display.setCurrent(form);
	}
	protected void pauseApp(){ }
	protected void destroyApp(boolean arg0) throws MIDletStateChangeException { }
	public void commandAction(Command command, Displayable displayable){
	  if(command == exitCommand){
		try{ destroyApp(false);
		}catch (MIDletStateChangeException e){ e.printStackTrace(); }
		 notifyDestroyed();
	  }
	}
	
}
```

Grüße
Aha


----------



## The_S (27. Mai 2009)

Mit "Emulator" meinte ich, ob du es am lokalen PC im Emulator getestet hast.

Wann kommt denn die Fehlermeldung? Passt das Manifest (alle nötigen Informationen eingetragen, korrekte JAR-Größe, ...)? Passt der Inhalt des JARs (sind alle Klassen vorhanden, packages richtig, ...)? Ggf. mal das JAD mitkopieren und versuchen über das JAD zu installieren.


----------



## aha_01 (27. Mai 2009)

Also auf dem PC habe ich mit Emulator ausgeführt und es ist in Ordnung.
Mit Jad-Datei habe ich auch probiert auf dem Handy. Es zeigt mir den Fehler:
Obligatorische Attribute fehlen.
die Jar-Datei habe ich auf meinem PC extrahiert:
MANIFEST.MF:


> Manifest-Version: 1.0
> MIDlet-Vendor: Midlet Suite Vendor
> MIDlet-Version: 1.0.0
> MicroEdition-Configuration: CLDC-1.1
> ...


Es gibt im jar-Datei nur eine einzige Klasse J2MEHelloWorld.class und das ist so auch richtig.

Also ich weiß nicht woran das liegen könnte?
Die Datei Übetragung auf dem Handy habe ich mit meinem USB-Kabel durchgeführt.


Grüße
Aha


----------



## aha_01 (27. Mai 2009)

Die Jar-Datei habe ich wie folgt erstellt:

Rechte Maustaste auf dem Projekt im Eclipse -> J2ME -> Create Package


Grüße
Aha


----------



## The_S (27. Mai 2009)

Das JAR bzw. Manifest ist dann wohl fehlerhaft und es fehlen zwingend erforderliche Attribute. Auf dem ersten Blick fehlt die Angabe, wie groß das JAR ist. Hast du das JAD manuell angefertigt oder das von Eclipse machen lassen? Falls du es von Eclipse hast machen lassen: Hast du dann Attribute hinzugefügt, entfernt oder verändert?

Google dir doch einfach mal, welche Attribute alle in eine JAD müssen. Weiß ich nämlich auch nicht auswendig.



The_S hat gesagt.:


> Wann kommt denn die Fehlermeldung?


----------



## aha_01 (27. Mai 2009)

> Wann kommt denn die Fehlermeldung?



Nach dem ich auf dem Handy die jar-Datei anklicke versucht er die Datei zu installieren und nach einer Sekunde zeigt er den Fehler.


----------



## The_S (27. Mai 2009)

aha_01 hat gesagt.:


> Nach dem ich auf dem Handy die jar-Datei anklicke versucht er die Datei zu installieren und nach einer Sekunde zeigt er den Fehler.



Dann liegt der Fehler definitiv im JAD bzw. Manifest. Man beachte meinen letzten Beitrag.


----------



## MiDniGG (27. Mai 2009)

Ja es fehlt in der JAD auf jeden Fall mal die JAR-Größe, sowie MIDlet-1: X,Y,Z
Der rest sollte passen...


----------

