2010-07-30 4 views
0

J'avais un projet MIDlet appelé Numbers que j'ai décidé de renommer Digits. Au lieu de simplement le renommer, j'ai décidé de créer un tout nouveau projet à partir de rien, afin que je puisse avoir un nouveau répertoire, nom de paquet, noms .jad/.jar, etc. Tout s'est bien passé, j'ai copié les fichiers .java dans/src et les fichiers de ressources vers/res et recompilés avec succès. J'ai utilisé Eclipse Helios et le SDK 5e édition de la série 40 de Nokia, Feature Pack 1, pour les deux projets.JavaME NullPointerException lors de la modification de la propriété MIDlet Name ou Vendor (émulateur Eclipse + Series 40)

Maintenant, pour une raison étrange lorsque le MIDlet démarre dans l'émulateur, il lance une exception NullPointerException, mais pas immédiatement au démarrage, mais après un écran de démarrage (c'est un jeu). Je n'ai pas touché le code du tout, donc j'exclus la possibilité d'une exception dans le code, car cela a très bien fonctionné quand le projet s'appelait Numbers. Après une heure d'essais et d'erreurs, j'ai trouvé une chose étrange: si j'ouvre le descripteur d'application et change la propriété MIDlet name de "Digits" à "Numbers" (ancien nom de projet), tout fonctionne parfaitement et aucune exception n'est faite jeté. J'ai fait une recherche de texte dans tous les fichiers de projet et le mot "Numbers" apparaît seulement dans le Descripteur d'application et le fichier .jad, et seulement après avoir changé la propriété de nom de MIDlet, sinon cette chaîne est introuvable (aucun nom de classe, aucune variable, aucune autre propriété, ni dans le code ni dans le projet ont une chaîne "Numbers"). D'où vient cette référence? Un bug dans l'émulateur Eclipse ou Series 40? Ce qui donne?

Répondre

0

Trouvé, après une autre demi-heure d'enquête. Il y a un dossier dans le répertoire SDK de la série 40 qui met en cache les MIDlets qu'il exécute et qui conserve également les anciennes versions du même MIDlet. J'ai nettoyé le répertoire entier et maintenant le projet commence juste très bien avec de nouvelles valeurs dans MIDlet Nom et MIDlet Fournisseur. Le répertoire à nettoyer est:
Nokia \ Devices \ S40_5th_Edition_SDK_Feature_Pack_1 \ bin \ Stockage \ 6500500 \ C \ DirectLoaded \

Questions connexes