2010-04-09 13 views
0

Je développe une application GPS avec J2ME et J2ME polonais (2.1.2), je suis confronté à des problèmes pour accéder à la classe de localisation. Je reçois l'exception suivanteGPS avec le vernis J2ME

Exception in thread "event-thread" java.lang.UnsatisfiedLinkError: aa.a(I)V 
Nokia/N95:   at aa.a(Native Method) 
Nokia/N95:   at ae.<clinit>(Unknown Source) 
Nokia/N95:   at b.j(Unknown Source) 
Nokia/N95:   at com.allstate.mini.MINIMidlet.commandAction(Unknown Source) 
Nokia/N95:   at ax.b(Unknown Source) 
Nokia/N95:   at u.b(Unknown Source) 
Nokia/N95:   at al.d(Unknown Source) 
Nokia/N95:   at bd.keyReleased(Unknown Source) 
Nokia/N95:   at javax.microedition.lcdui.Display$KeyEvent.run(Display.java:158) 
Nokia/N95:   at org.microemu.device.ui.EventDispatcher.post(EventDispatcher.java:144) 
Nokia/N95:   at org.microemu.device.ui.EventDispatcher.run(EventDispatcher.java:74) 
Nokia/N95:   at java.lang.Thread.run(Unknown Source) 

S'il vous plaît aider ...

+0

désactiver l'obfuscation lors du débogage :-) –

Répondre

0

Mise hors obscurcissement est une bonne idée lors du débogage. Avez-vous des journaux d'obfuscation? Même si vous ne le faites pas, vous pouvez toujours deviner la trace de pile réelle et fournir un extrait de code qui échoue réellement. Il semble que certaines initialisations de classe échouent et il est intéressant de voir le code de cette classe.

De toute façon, il semble que votre trace de pile d'exception est très mauvaise. La méthode native avec un nom obfusqué semble terriblement fausse. Si vous masquez une méthode native, vous devez l'obscurcir de la même manière dans l'implémentation native. Quoi qu'il en soit, cela semble être une très mauvaise idée.

Avez-vous des méthodes "natives" dans votre code? Je m'attendrais à ce qu'il y ait quelque chose qui ne va pas avec les réglages d'obscurcissement. Peut-être que vous essayez d'obscurcir une bibliothèque (avec des méthodes natives) que vous utilisez et vous ne devriez pas.

+0

Au lieu de l'éteindre, pourquoi ne pas simplement utiliser l'option -keep dans Proguard. S'il se construit sans obfuscation, il est peu probable qu'il soit suffisamment petit pour être déployé sur l'appareil. – binarycreations