I was trying to add ucanaccess to an android project (an empty project with no dependencies). For the purpose, I added the ucanaccess jar along with the dependency jars in the libs folder and added them in the dependecies section of app/build.gradle as:
However, when I tried to access the database in the code side as
try{System.out.println("Getting path");finalStringroot=call.argument("path");System.out.println(root);System.out.println("Reading the database file");Connectionconn=DriverManager.getConnection("jdbc:ucanaccess:/"+root);System.out.println("Database opened successfully!");}catch(Exceptione){System.out.println("Generic exception!");e.printStackTrace();result.error("GENERIC_EXCEPTION_FAILED_DB_OPEN","Failed to load the database file",e.toString());}
The app crashes with the following log in the logcat:
I was trying to add ucanaccess to an android project (an empty project
with no dependencies). For the purpose, I added the ucanaccess jar along
with the dependency jars in the libs folder and added them in the
dependecies section of app/build.gradle as:
However, when I tried to access the database in the code side as
try{System.out.println("Getting path");finalStringroot=call.argument("path");System.out.println(root);System.out.println("Reading the database file");Connectionconn=DriverManager.getConnection("jdbc:ucanaccess:/"+root);System.out.println("Database opened successfully!");}catch(Exceptione){System.out.println("Generic exception!");e.printStackTrace();result.error("GENERIC_EXCEPTION_FAILED_DB_OPEN","Failed to load the database file",e.toString());}```Theappcrasheswiththefollowingloginthelogcat:```2021-08-3113:30:59.62122539-22539/com.dev404.ucanaccessI/System.out:Gettingpath2021-08-3113:30:59.62122539-22539/com.dev404.ucanaccessI/System.out:/storage/emulated/0/Android/data/com.dev404.dbviewer/files/demo.accdb2021-08-3113:30:59.62122539-22539/com.dev404.ucanaccessI/System.out:Readingthedatabasefile2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:Rejectingre-initonpreviously-failedclassjava.lang.Class<net.ucanaccess.jdbc.UcanaccessDriver>:java.lang.NoClassDefFoundError:Failedresolutionof:Ljava/sql/DriverAction;2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Classjava.lang.Class.classForName(java.lang.String,boolean,java.lang.ClassLoader)(Class.java:-2)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Classjava.lang.Class.forName(java.lang.String,boolean,java.lang.ClassLoader)(Class.java:454)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Classjava.lang.Class.forName(java.lang.String)(Class.java:379)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidnet.ucanaccess.jdbc.UcanaccessDriver.<clinit>()(UcanaccessDriver.java:48)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.lang.Class.newInstance()(Class.java:-2)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.util.ServiceLoader$LazyIterator.nextService()(ServiceLoader.java:388)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.util.ServiceLoader$LazyIterator.next()(ServiceLoader.java:416)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.util.ServiceLoader$1.next()(ServiceLoader.java:494)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Voidjava.sql.DriverManager$2.run()(DriverManager.java:519)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.sql.DriverManager$2.run()(DriverManager.java:499)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.security.AccessController.doPrivileged(java.security.PrivilegedAction)(AccessController.java:43)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidjava.sql.DriverManager.loadInitialDrivers()(DriverManager.java:499)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidjava.sql.DriverManager.<clinit>()(DriverManager.java:103)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.sql.Connectionjava.sql.DriverManager.getConnection(java.lang.String)(DriverManager.java:235)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidcom.dev404.ucanaccess.dbHandler.openDB(io.flutter.plugin.common.MethodCall,io.flutter.plugin.common.MethodChannel$Result)(dbHandler.java:29)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidcom.dev404.ucanaccess.MainActivity.lambda$configureFlutterEngine$0(com.dev404.ucanaccess.dbHandler,io.flutter.plugin.common.MethodCall,io.flutter.plugin.common.MethodChannel$Result)(MainActivity.java:22)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidcom.dev404.ucanaccess.-$$Lambda$MainActivity$PqVN2HYh3SZLN5vhBVTkrSWPB7M.onMethodCall(io.flutter.plugin.common.MethodCall,io.flutter.plugin.common.MethodChannel$Result)(lambda:-1)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidio.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(java.nio.ByteBuffer,io.flutter.plugin.common.BinaryMessenger$BinaryReply)(MethodChannel.java:233)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidio.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(java.lang.String,byte[],int)(DartMessenger.java:85)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidio.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(java.lang.String,byte[],int)(FlutterJNI.java:818)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidandroid.os.MessageQueue.nativePollOnce(long,int)(MessageQueue.java:-2)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atandroid.os.Messageandroid.os.MessageQueue.next()(MessageQueue.java:336)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidandroid.os.Looper.loop()(Looper.java:180)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:at<OBSOLETE>voidandroid.app.ActivityThread.main(java.lang.String[])(ActivityThread.java:7562)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[])(Method.java:-2)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidcom.android.internal.os.RuntimeInit$MethodAndArgsCaller.run()(RuntimeInit.java:539)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidcom.android.internal.os.ZygoteInit.main(java.lang.String[])(ZygoteInit.java:950)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:Causedby:java.lang.ClassNotFoundException:Didn'tfindclass"java.sql.DriverAction"onpath:DexPathList[[zipfile"/data/app/com.dev404.ucanaccess-foBOs6aXVGq5KHdWb5WRfQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.dev404.ucanaccess-SBARz1-1IxsJqJ5HsJvu3g==/lib/arm64,/data/app/com.dev404.ucanaccess-SBARz1-1IxsJqJ5HsJvu3g==/base.apk!/lib/arm64-v8a,/system/lib64,/system/product/lib64]]2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Classdalvik.system.BaseDexClassLoader.findClass(java.lang.String)(BaseDexClassLoader.java:230)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Classjava.lang.ClassLoader.loadClass(java.lang.String,boolean)(ClassLoader.java:379)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Classjava.lang.ClassLoader.loadClass(java.lang.String)(ClassLoader.java:312)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Classjava.lang.Class.classForName(java.lang.String,boolean,java.lang.ClassLoader)(Class.java:-2)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Classjava.lang.Class.forName(java.lang.String,boolean,java.lang.ClassLoader)(Class.java:454)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Classjava.lang.Class.forName(java.lang.String)(Class.java:379)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidnet.ucanaccess.jdbc.UcanaccessDriver.<clinit>()(UcanaccessDriver.java:48)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.lang.Class.newInstance()(Class.java:-2)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.util.ServiceLoader$LazyIterator.nextService()(ServiceLoader.java:388)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.util.ServiceLoader$LazyIterator.next()(ServiceLoader.java:416)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.util.ServiceLoader$1.next()(ServiceLoader.java:494)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Voidjava.sql.DriverManager$2.run()(DriverManager.java:519)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.sql.DriverManager$2.run()(DriverManager.java:499)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.security.AccessController.doPrivileged(java.security.PrivilegedAction)(AccessController.java:43)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidjava.sql.DriverManager.loadInitialDrivers()(DriverManager.java:499)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidjava.sql.DriverManager.<clinit>()(DriverManager.java:103)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.sql.Connectionjava.sql.DriverManager.getConnection(java.lang.String)(DriverManager.java:235)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidcom.dev404.ucanaccess.dbHandler.openDB(io.flutter.plugin.common.MethodCall,io.flutter.plugin.common.MethodChannel$Result)(dbHandler.java:29)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidcom.dev404.ucanaccess.MainActivity.lambda$configureFlutterEngine$0(com.dev404.ucanaccess.dbHandler,io.flutter.plugin.common.MethodCall,io.flutter.plugin.common.MethodChannel$Result)(MainActivity.java:22)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidcom.dev404.ucanaccess.-$$Lambda$MainActivity$PqVN2HYh3SZLN5vhBVTkrSWPB7M.onMethodCall(io.flutter.plugin.common.MethodCall,io.flutter.plugin.common.MethodChannel$Result)(lambda:-1)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidio.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(java.nio.ByteBuffer,io.flutter.plugin.common.BinaryMessenger$BinaryReply)(MethodChannel.java:233)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidio.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(java.lang.String,byte[],int)(DartMessenger.java:85)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidio.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(java.lang.String,byte[],int)(FlutterJNI.java:818)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidandroid.os.MessageQueue.nativePollOnce(long,int)(MessageQueue.java:-2)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atandroid.os.Messageandroid.os.MessageQueue.next()(MessageQueue.java:336)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidandroid.os.Looper.loop()(Looper.java:180)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:at<OBSOLETE>voidandroid.app.ActivityThread.main(java.lang.String[])(ActivityThread.java:7562)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atjava.lang.Objectjava.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[])(Method.java:-2)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidcom.android.internal.os.RuntimeInit$MethodAndArgsCaller.run()(RuntimeInit.java:539)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:atvoidcom.android.internal.os.ZygoteInit.main(java.lang.String[])(ZygoteInit.java:950)2021-08-3113:30:59.64622539-22539/com.dev404.ucanaccessI/v404.ucanacces:---------beginningofsystem2021-08-3113:30:59.66322539-22539/com.dev404.ucanaccessI/Process:Sendingsignal.PID:22539SIG:9
Ah yup, that sort of worked... However, I am a bit confused, cause I tried ucanaccess with JDK 16, 11, as well as 1.8 (Java 8)... but the error remained.
However, downgrading it worked.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi there,
I was trying to add ucanaccess to an android project (an empty project with no dependencies). For the purpose, I added the ucanaccess jar along with the dependency jars in the libs folder and added them in the dependecies section of
app/build.gradle
as:However, when I tried to access the database in the code side as
The app crashes with the following log in the logcat:
Any idea on what i might be doing wrong?
Last edit: Shehar Yar Khan 2021-08-31
Try with the previous 4.x.x ucanaccess (downgrading the dependencies too),
it may depend on the jdk version supported
Il Mar 31 Ago 2021, 10:36 Shehar Yar Khan sheharyar566@users.sourceforge.net ha scritto:
Ah yup, that sort of worked... However, I am a bit confused, cause I tried ucanaccess with JDK 16, 11, as well as 1.8 (Java 8)... but the error remained.
However, downgrading it worked.
Edit:
Last edit: Shehar Yar Khan 2021-08-31
Hi, I also have this problem, what is the problem with permissions? Does version 5.0.1 require permissions?