2013-09-23 1 views
1

Je cours une application midlet déjà déployée & fonctionne sur Nokia S60 sdk. Je veux que mon application fonctionne sur tous les périphériques symbian java &. J'ai essayé de lancer l'application sur Java_ME_platform_SDK_3.4 mais obtenir une erreur dans le code quand je suis en train de changer l'écran de Connexion à l'accueilClassFormatError: 154>, Exception pris dans la classe Display

HomeForm homeForm=new HomeForm(objLoginMidlet, objCommonBean); 
    Display.getDisplay(objLoginMidlet).setCurrent(homeForm); 

code Accueil Formulaire est comme suit-

class HomeForm extends Form 
{ 
    public HomeForm(LoginMidlet objLoginMidlet,CommonBean objCommonBean) 
    { 
     this.objLoginMidlet=objLoginMidlet; 
     this.objCommonBean=objCommonBean; 
     setTimer(); 
     initHomeForm(); 
    } 
} 

Mon MIDP est défini sur 2.1. Même je l'ai changé à 2,0 mais toujours obtenir exception comme suit

avertissement * * *classes d'utilisateurs non fiables ne doivent jamais être mis * ** sur le chemin de classe système

TRACE: <at java.lang.Error: ClassFormatError: 154>, Exception caught in Display class 
java.lang.Error: ClassFormatError: 154 
- java.lang.Class.invoke_verify(), bci=0 
- java.lang.Class.initialize(), bci=100 
- ezypoint.forms.LoginForm.register(LoginForm.java:202) 
- ezypoint.forms.LoginForm.commandAction(LoginForm.java:91) 

Même I essayé de changer le niveau de compilance, mais l'exception apparaît.

+0

Pourriez-vous expliquer comment cette classe a été compilé? Je n'ai peut-être pas la solution, mais j'ai le même problème. – Vincent

Répondre

0

Je ne connais pas le Nokia S60, mais cela se produit généralement sur les périphériques CLDC lorsque des fichiers de classe Java compilés sont déployés sans avoir été "préverifiés". Il s'agit d'une étape de génération supplémentaire requise pour les exécuter sur les périphériques JavaME intégrés. Voir this StackOverflow question.

Si vous disposez d'un environnement de développement complet, celui-ci est généralement configuré automatiquement (vous devez peut-être choisir le périphérique cible correect). Toutefois, si vous essayez de compiler les fichiers Java par vous-même, puis de les exécuter sur votre appareil, il se bloquera. Dans ce cas, vous devez appeler% YOUR_WTK_HOME% \ bin \ preverify.exe avec vos fichiers de classe (et probablement ajouter à votre script ANT ou similaire):

%YOUR_WTK_HOME%\bin\preverify.exe -classpath <your-classpath> -d <your-destination-dir> <your-source-directory> 
Questions connexes