Android et HSQLdb : NoClassDefFoundError
Bonjour à toutes et à tous,
Je reviens vers vous car je ne sais plus trop quoi faire pour résoudre mon problème.
Je suis en train de porter une API (développée en interne) sur Android. Cette API utilise HSQLdb pour fonctionner. J'ai ajouté dans les jar de mon projet Android (sous Eclipse), le driver hsqldbmin.jar - dernière version à jour sur le site d'hsqldb- et je lance mon projet.
J'obtiens cette grande liste d'erreur :
Code:
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| 05-10 09:21:53.531: INFO/ActivityManager(60): Start proc com.theleme for activity com.theleme/.Main: pid=430 uid=10037 gids={3003, 1015}
05-10 09:21:54.501: INFO/System.out(430): test 0
05-10 09:21:54.680: DEBUG/dalvikvm(268): GC_EXPLICIT freed 46 objects / 2192 bytes in 1918ms
05-10 09:21:54.810: ERROR/dalvikvm(430): Could not find class 'java.sql.SQLFeatureNotSupportedException', referenced from method org.hsqldb.jdbc.JDBCDriver.getParentLogger
05-10 09:21:54.810: WARN/dalvikvm(430): VFY: unable to resolve check-cast 325 (Ljava/sql/SQLFeatureNotSupportedException;) in Lorg/hsqldb/jdbc/JDBCDriver;
05-10 09:21:54.810: DEBUG/dalvikvm(430): VFY: replacing opcode 0x1f at 0x0004
05-10 09:21:54.820: DEBUG/dalvikvm(430): VFY: dead code 0x0006-0006 in Lorg/hsqldb/jdbc/JDBCDriver;.getParentLogger ()Ljava/util/logging/Logger;
05-10 09:21:55.120: DEBUG/dalvikvm(430): GC_FOR_MALLOC freed 1032 objects / 77976 bytes in 250ms
05-10 09:21:55.500: INFO/dalvikvm(430): Failed resolving Lorg/hsqldb/jdbc/JDBCNClob; interface 313 'Ljava/sql/NClob;'
05-10 09:21:55.510: WARN/dalvikvm(430): Link of class 'Lorg/hsqldb/jdbc/JDBCNClob;' failed
05-10 09:21:55.520: ERROR/dalvikvm(430): Could not find class 'org.hsqldb.jdbc.JDBCNClob', referenced from method org.hsqldb.jdbc.JDBCConnection.createNClob
05-10 09:21:55.520: WARN/dalvikvm(430): VFY: unable to resolve new-instance 1257 (Lorg/hsqldb/jdbc/JDBCNClob;) in Lorg/hsqldb/jdbc/JDBCConnection;
05-10 09:21:55.530: DEBUG/dalvikvm(430): VFY: replacing opcode 0x22 at 0x0003
05-10 09:21:55.530: DEBUG/dalvikvm(430): VFY: dead code 0x0005-0008 in Lorg/hsqldb/jdbc/JDBCConnection;.createNClob ()Ljava/sql/NClob;
05-10 09:21:55.550: INFO/dalvikvm(430): Failed resolving Lorg/hsqldb/jdbc/JDBCSQLXML; interface 335 'Ljava/sql/SQLXML;'
05-10 09:21:55.550: WARN/dalvikvm(430): Link of class 'Lorg/hsqldb/jdbc/JDBCSQLXML;' failed
05-10 09:21:55.570: ERROR/dalvikvm(430): Could not find class 'org.hsqldb.jdbc.JDBCSQLXML', referenced from method org.hsqldb.jdbc.JDBCConnection.createSQLXML
05-10 09:21:55.570: WARN/dalvikvm(430): VFY: unable to resolve new-instance 1268 (Lorg/hsqldb/jdbc/JDBCSQLXML;) in Lorg/hsqldb/jdbc/JDBCConnection;
05-10 09:21:55.570: DEBUG/dalvikvm(430): VFY: replacing opcode 0x22 at 0x0003
05-10 09:21:55.580: DEBUG/dalvikvm(430): VFY: dead code 0x0005-0008 in Lorg/hsqldb/jdbc/JDBCConnection;.createSQLXML ()Ljava/sql/SQLXML;
05-10 09:21:55.600: INFO/dalvikvm(430): Failed resolving Lorg/hsqldb/jdbc/JDBCStatement; interface 341 'Ljava/sql/Wrapper;'
05-10 09:21:55.600: WARN/dalvikvm(430): Link of class 'Lorg/hsqldb/jdbc/JDBCStatement;' failed
05-10 09:21:55.611: ERROR/dalvikvm(430): Could not find class 'org.hsqldb.jdbc.JDBCStatement', referenced from method org.hsqldb.jdbc.JDBCConnection.createStatement
05-10 09:21:55.611: WARN/dalvikvm(430): VFY: unable to resolve new-instance 1270 (Lorg/hsqldb/jdbc/JDBCStatement;) in Lorg/hsqldb/jdbc/JDBCConnection;
05-10 09:21:55.611: DEBUG/dalvikvm(430): VFY: replacing opcode 0x22 at 0x000e
05-10 09:21:55.620: DEBUG/dalvikvm(430): VFY: dead code 0x0010-0014 in Lorg/hsqldb/jdbc/JDBCConnection;.createStatement ()Ljava/sql/Statement;
05-10 09:21:55.640: INFO/dalvikvm(430): Failed resolving Lorg/hsqldb/jdbc/JDBCStatement; interface 341 'Ljava/sql/Wrapper;'
05-10 09:21:55.640: WARN/dalvikvm(430): Link of class 'Lorg/hsqldb/jdbc/JDBCStatement;' failed
05-10 09:21:55.640: ERROR/dalvikvm(430): Could not find class 'org.hsqldb.jdbc.JDBCStatement', referenced from method org.hsqldb.jdbc.JDBCConnection.createStatement
05-10 09:21:55.651: WARN/dalvikvm(430): VFY: unable to resolve new-instance 1270 (Lorg/hsqldb/jdbc/JDBCStatement;) in Lorg/hsqldb/jdbc/JDBCConnection;
05-10 09:21:55.651: DEBUG/dalvikvm(430): VFY: replacing opcode 0x22 at 0x000a
05-10 09:21:55.660: DEBUG/dalvikvm(430): VFY: dead code 0x000c-0010 in Lorg/hsqldb/jdbc/JDBCConnection;.createStatement (II)Ljava/sql/Statement;
05-10 09:21:55.671: INFO/dalvikvm(430): Failed resolving Lorg/hsqldb/jdbc/JDBCStatement; interface 341 'Ljava/sql/Wrapper;'
05-10 09:21:55.681: WARN/dalvikvm(430): Link of class 'Lorg/hsqldb/jdbc/JDBCStatement;' failed
05-10 09:21:55.681: ERROR/dalvikvm(430): Could not find class 'org.hsqldb.jdbc.JDBCStatement', referenced from method org.hsqldb.jdbc.JDBCConnection.createStatement
05-10 09:21:55.700: WARN/dalvikvm(430): VFY: unable to resolve new-instance 1270 (Lorg/hsqldb/jdbc/JDBCStatement;) in Lorg/hsqldb/jdbc/JDBCConnection;
05-10 09:21:55.700: DEBUG/dalvikvm(430): VFY: replacing opcode 0x22 at 0x0008
05-10 09:21:55.700: DEBUG/dalvikvm(430): VFY: dead code 0x000a-000e in Lorg/hsqldb/jdbc/JDBCConnection;.createStatement (III)Ljava/sql/Statement;
05-10 09:21:55.720: INFO/dalvikvm(430): Failed resolving Lorg/hsqldb/jdbc/JDBCDatabaseMetaData; interface 341 'Ljava/sql/Wrapper;'
05-10 09:21:55.720: WARN/dalvikvm(430): Link of class 'Lorg/hsqldb/jdbc/JDBCDatabaseMetaData;' failed
05-10 09:21:55.730: ERROR/dalvikvm(430): Could not find class 'org.hsqldb.jdbc.JDBCDatabaseMetaData', referenced from method org.hsqldb.jdbc.JDBCConnection.getMetaData
05-10 09:21:55.730: WARN/dalvikvm(430): VFY: unable to resolve new-instance 1254 (Lorg/hsqldb/jdbc/JDBCDatabaseMetaData;) in Lorg/hsqldb/jdbc/JDBCConnection;
05-10 09:21:55.740: DEBUG/dalvikvm(430): VFY: replacing opcode 0x22 at 0x0004
05-10 09:21:55.740: DEBUG/dalvikvm(430): VFY: dead code 0x0006-000a in Lorg/hsqldb/jdbc/JDBCConnection;.getMetaData ()Ljava/sql/DatabaseMetaData;
05-10 09:21:55.761: INFO/dalvikvm(430): Failed resolving Lorg/hsqldb/jdbc/JDBCDatabaseMetaData; interface 341 'Ljava/sql/Wrapper;'
05-10 09:21:55.761: WARN/dalvikvm(430): Link of class 'Lorg/hsqldb/jdbc/JDBCDatabaseMetaData;' failed
05-10 09:21:55.771: ERROR/dalvikvm(430): Could not find class 'org.hsqldb.jdbc.JDBCDatabaseMetaData', referenced from method org.hsqldb.jdbc.JDBCConnection.getSchema
05-10 09:21:55.780: WARN/dalvikvm(430): VFY: unable to resolve new-instance 1254 (Lorg/hsqldb/jdbc/JDBCDatabaseMetaData;) in Lorg/hsqldb/jdbc/JDBCConnection;
05-10 09:21:55.791: DEBUG/dalvikvm(430): VFY: replacing opcode 0x22 at 0x0003
05-10 09:21:55.791: DEBUG/dalvikvm(430): VFY: dead code 0x0005-000c in Lorg/hsqldb/jdbc/JDBCConnection;.getSchema ()Ljava/lang/String;
05-10 09:21:55.850: ERROR/dalvikvm(430): Could not find class 'java.sql.SQLClientInfoException', referenced from method org.hsqldb.jdbc.JDBCConnection.setClientInfo
05-10 09:21:55.850: WARN/dalvikvm(430): VFY: unable to resolve new-instance 321 (Ljava/sql/SQLClientInfoException;) in Lorg/hsqldb/jdbc/JDBCConnection;
05-10 09:21:55.860: DEBUG/dalvikvm(430): VFY: replacing opcode 0x22 at 0x0000
05-10 09:21:55.860: DEBUG/dalvikvm(430): VFY: dead code 0x0002-000c in Lorg/hsqldb/jdbc/JDBCConnection;.setClientInfo (Ljava/lang/String;Ljava/lang/String;)V
05-10 09:21:55.881: ERROR/dalvikvm(430): Could not find class 'java.sql.SQLClientInfoException', referenced from method org.hsqldb.jdbc.JDBCConnection.setClientInfo
05-10 09:21:55.881: WARN/dalvikvm(430): VFY: unable to resolve new-instance 321 (Ljava/sql/SQLClientInfoException;) in Lorg/hsqldb/jdbc/JDBCConnection;
05-10 09:21:55.890: DEBUG/dalvikvm(430): VFY: replacing opcode 0x22 at 0x000d
05-10 09:21:55.890: DEBUG/dalvikvm(430): VFY: dead code 0x000f-0025 in Lorg/hsqldb/jdbc/JDBCConnection;.setClientInfo (Ljava/util/Properties;)V
05-10 09:21:55.910: INFO/dalvikvm(430): Failed resolving Lorg/hsqldb/jdbc/JDBCDatabaseMetaData; interface 341 'Ljava/sql/Wrapper;'
05-10 09:21:55.920: WARN/dalvikvm(430): Link of class 'Lorg/hsqldb/jdbc/JDBCDatabaseMetaData;' failed
05-10 09:21:55.920: ERROR/dalvikvm(430): Could not find class 'org.hsqldb.jdbc.JDBCDatabaseMetaData', referenced from method org.hsqldb.jdbc.JDBCConnection.setSchema
05-10 09:21:55.930: WARN/dalvikvm(430): VFY: unable to resolve new-instance 1254 (Lorg/hsqldb/jdbc/JDBCDatabaseMetaData;) in Lorg/hsqldb/jdbc/JDBCConnection;
05-10 09:21:55.930: DEBUG/dalvikvm(430): VFY: replacing opcode 0x22 at 0x0017
05-10 09:21:55.940: DEBUG/dalvikvm(430): VFY: dead code 0x0019-001f in Lorg/hsqldb/jdbc/JDBCConnection;.setSchema (Ljava/lang/String;)V
05-10 09:21:56.071: WARN/dalvikvm(430): VFY: unable to find class referenced in signature (Lorg/hsqldb/server/Server;)
05-10 09:21:56.071: WARN/dalvikvm(430): VFY: unable to find class referenced in signature (Lorg/hsqldb/server/Server;)
05-10 09:21:56.090: WARN/dalvikvm(430): VFY: unable to find class referenced in signature (Lorg/hsqldb/server/Server;)
05-10 09:21:56.100: WARN/dalvikvm(430): VFY: unable to find class referenced in signature (Lorg/hsqldb/server/Server;)
05-10 09:21:56.121: ERROR/dalvikvm(430): Could not find class 'org.hsqldb.server.Server', referenced from method org.hsqldb.DatabaseManager.isServerDB
05-10 09:21:56.121: WARN/dalvikvm(430): VFY: unable to resolve check-cast 1503 (Lorg/hsqldb/server/Server;) in Lorg/hsqldb/DatabaseManager;
05-10 09:21:56.121: DEBUG/dalvikvm(430): VFY: replacing opcode 0x1f at 0x0014
05-10 09:21:56.131: DEBUG/dalvikvm(430): VFY: dead code 0x0016-0024 in Lorg/hsqldb/DatabaseManager;.isServerDB (Lorg/hsqldb/Database;)Z
05-10 09:21:56.150: ERROR/dalvikvm(430): Could not find class 'org.hsqldb.server.Server', referenced from method org.hsqldb.DatabaseManager.notifyServers
05-10 09:21:56.150: WARN/dalvikvm(430): VFY: unable to resolve check-cast 1503 (Lorg/hsqldb/server/Server;) in Lorg/hsqldb/DatabaseManager;
05-10 09:21:56.150: DEBUG/dalvikvm(430): VFY: replacing opcode 0x1f at 0x0014
05-10 09:21:56.160: DEBUG/dalvikvm(430): VFY: dead code 0x0016-002a in Lorg/hsqldb/DatabaseManager;.notifyServers (Lorg/hsqldb/Database;)V
05-10 09:21:56.170: WARN/dalvikvm(430): VFY: unable to find class referenced in signature (Lorg/hsqldb/server/Server;)
05-10 09:21:56.281: DEBUG/dalvikvm(430): GC_FOR_MALLOC freed 1329 objects / 97784 bytes in 88ms
05-10 09:21:56.841: DEBUG/dalvikvm(430): GC_FOR_MALLOC freed 2184 objects / 208152 bytes in 110ms
05-10 09:21:57.110: INFO/global(430): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required.
05-10 09:21:57.611: DEBUG/dalvikvm(430): GC_FOR_MALLOC freed 4290 objects / 311160 bytes in 116ms
05-10 09:21:57.651: WARN/dalvikvm(430): dvmFindClassByName rejecting 'org/hsqldb/resources/sql-state-messages_en_US'
05-10 09:21:57.661: WARN/dalvikvm(430): dvmFindClassByName rejecting 'org/hsqldb/resources/sql-state-messages_en'
05-10 09:21:57.661: WARN/dalvikvm(430): dvmFindClassByName rejecting 'org/hsqldb/resources/sql-state-messages'
05-10 09:21:58.411: DEBUG/dalvikvm(430): GC_FOR_MALLOC freed 4756 objects / 308728 bytes in 117ms
05-10 09:21:58.571: DEBUG/AndroidRuntime(430): Shutting down VM
05-10 09:21:58.571: WARN/dalvikvm(430): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): FATAL EXCEPTION: main
05-10 09:21:58.600: ERROR/AndroidRuntime(430): java.lang.NoClassDefFoundError: org.hsqldb.jdbc.JDBCStatement
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at org.hsqldb.jdbc.JDBCConnection.createStatement(JDBCConnection.java:578)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at com.theleme.Kappa.Repartiteur.DicoBaseA.<init>(DicoBaseA.java:29)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at com.theleme.Kappa.Repartiteur.DicoBaseMem.<init>(DicoBaseMem.java:16)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at com.theleme.control.HagalDicoBaseMem.<init>(HagalDicoBaseMem.java:21)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at com.theleme.control.HagalControl.<init>(HagalControl.java:48)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at kappaconn.AppControl.<init>(AppControl.java:24)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at com.theleme.Main.onCreate(Main.java:23)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at android.os.Handler.dispatchMessage(Handler.java:99)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at android.os.Looper.loop(Looper.java:123)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at android.app.ActivityThread.main(ActivityThread.java:4627)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at java.lang.reflect.Method.invokeNative(Native Method)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at java.lang.reflect.Method.invoke(Method.java:521)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-10 09:21:58.600: ERROR/AndroidRuntime(430): at dalvik.system.NativeStart.main(Native Method)
05-10 09:21:58.651: WARN/ActivityManager(60): Force finishing activity com.theleme/.Main |
Pourriez-vous m'aider à la résoudre ? J'ai l'impression qu'il ne reste que l'erreur en gras à fixer, et qu'ensuite, ça devrait marcher.
Deuxième question : certains d'entre-vous ont-ils déjà utilisé HSQLdb avec Android ?
Troisième question : avez-vous déjà eu une NoClassDefFoundError comme celle-ci ? Et si oui, comment l'avez-vous résolue ?
Merci par avance, ça fait 1 journée et demie que je tourne en rond sur cette erreur :cry:
Cordialement.