Bonjour,
Je développe une application sous Eclipse devant utiliser la lib JIBX. J'ai commencé par suivre ce tutoriel. Tout fonctionne parfaitement dans un projet JAVA classique. Je peux générer un xsd à partir de classe, générer des classes à partir d'un xsd puis exécuter le programme qui retourne les bons résultats.
J'ai voulu refaire ce tuto mais sur android. J'ai réimporté les mêmes libs que le projet classique pour que ça compile (JIBX est censé être compatible avec Android). Je peux générer les classes et les objets, mais lorsque j'essaye de compiler ce projet, une erreur apparait sur le téléphone virtuel et le LogCat affiche le message suivant :
J'ai commencé par référencer jibx-run.jar et à le cocher dans le buildpath, à l'onglet order and export. Je l'ai même mis au top. ça n'a rien changé. Le message d'erreur restait le même. J'ai alors pensé à référencer et cocher toutes les libs importées de JIBX. Là, éclipse plante et affiche un message d'erreur : "Unable to execute dex: Java heap space ", qui veut sûrement dire que les libs chargées sont trop lourdes (l'ensemble fait 7Mo).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 09-10 12:33:54.957: I/Process(1905): Sending signal. PID: 1905 SIG: 9 09-10 12:34:05.047: I/dalvikvm(1944): Could not find method org.jibx.runtime.BindingDirectory.getFactory, referenced from method com.example.jibxtestandroid.MainActivity.calcul 09-10 12:34:05.079: W/dalvikvm(1944): VFY: unable to resolve static method 25: Lorg/jibx/runtime/BindingDirectory;.getFactory (Ljava/lang/Class;)Lorg/jibx/runtime/IBindingFactory; 09-10 12:34:05.079: D/dalvikvm(1944): VFY: replacing opcode 0x71 at 0x0004 09-10 12:34:05.079: W/dalvikvm(1944): VFY: unable to resolve exception class 34 (Lorg/jibx/runtime/JiBXException;) 09-10 12:34:05.079: W/dalvikvm(1944): VFY: unable to find exception handler at addr 0x8 09-10 12:34:05.087: W/dalvikvm(1944): VFY: rejected Lcom/example/jibxtestandroid/MainActivity;.calcul ()Ljava/lang/String; 09-10 12:34:05.087: W/dalvikvm(1944): VFY: rejecting opcode 0x0d at 0x0008 09-10 12:34:05.087: W/dalvikvm(1944): VFY: rejected Lcom/example/jibxtestandroid/MainActivity;.calcul ()Ljava/lang/String; 09-10 12:34:05.087: W/dalvikvm(1944): Verifier rejected class Lcom/example/jibxtestandroid/MainActivity; 09-10 12:34:05.087: W/dalvikvm(1944): Class init failed in newInstance call (Lcom/example/jibxtestandroid/MainActivity;) 09-10 12:34:05.087: D/AndroidRuntime(1944): Shutting down VM 09-10 12:34:05.087: W/dalvikvm(1944): threadid=1: thread exiting with uncaught exception (group=0x414c4700) 09-10 12:34:05.147: E/AndroidRuntime(1944): FATAL EXCEPTION: main 09-10 12:34:05.147: E/AndroidRuntime(1944): java.lang.VerifyError: com/example/jibxtestandroid/MainActivity 09-10 12:34:05.147: E/AndroidRuntime(1944): at java.lang.Class.newInstanceImpl(Native Method) 09-10 12:34:05.147: E/AndroidRuntime(1944): at java.lang.Class.newInstance(Class.java:1130) 09-10 12:34:05.147: E/AndroidRuntime(1944): at android.app.Instrumentation.newActivity(Instrumentation.java:1061) 09-10 12:34:05.147: E/AndroidRuntime(1944): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128) 09-10 12:34:05.147: E/AndroidRuntime(1944): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 09-10 12:34:05.147: E/AndroidRuntime(1944): at android.app.ActivityThread.access$600(ActivityThread.java:141) 09-10 12:34:05.147: E/AndroidRuntime(1944): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 09-10 12:34:05.147: E/AndroidRuntime(1944): at android.os.Handler.dispatchMessage(Handler.java:99) 09-10 12:34:05.147: E/AndroidRuntime(1944): at android.os.Looper.loop(Looper.java:137) 09-10 12:34:05.147: E/AndroidRuntime(1944): at android.app.ActivityThread.main(ActivityThread.java:5103) 09-10 12:34:05.147: E/AndroidRuntime(1944): at java.lang.reflect.Method.invokeNative(Native Method) 09-10 12:34:05.147: E/AndroidRuntime(1944): at java.lang.reflect.Method.invoke(Method.java:525) 09-10 12:34:05.147: E/AndroidRuntime(1944): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 09-10 12:34:05.147: E/AndroidRuntime(1944): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 09-10 12:34:05.147: E/AndroidRuntime(1944): at dalvik.system.NativeStart.main(Native Method) 09-10 12:39:05.443: I/Process(1944): Sending signal. PID: 1944 SIG: 9
Avez-vous une idée d'où viens l'erreur ? Les librairies sont correctement incluses et il n'y pas d'erreur eclipse.
Merci
Partager