-
Notifications
You must be signed in to change notification settings - Fork 656
Description
Describe the bug
The app throws a java.lang.UnsatisfiedLinkError when attempting to use the sqlite-jdbc library on a Motorola Moto E14 device.
To Reproduce
The error occurs during the initialization of a SQLite database connection using DriverManager.getConnection() with the org.sqlite.JDBC driver. The native libraries (.so files) extracted from the xerial/sqlite-jdbc JAR are included in the Android application package (APK) under the jniLibs directory, organized into architecture-specific folders: arm64-v8a, armeabi, x86, and x86_64.
Expected behavior
The app should successfully establish a connection to the SQLite database using the sqlite-jdbc library on the Motorola Moto E14 device, similar to its behavior on the majority of other tested Android devices.
Logs
Exception java.lang.UnsatisfiedLinkError:
at java.lang.Runtime.loadLibrary0 (Runtime.java:1082)
at java.lang.Runtime.loadLibrary0 (Runtime.java:1003)
at java.lang.System.loadLibrary (System.java:1661)
at org.sqlite.core.NativeDB.<clinit> (NativeDB.java:47)
at org.sqlite.SQLiteConnection.open (SQLiteConnection.java:280)
at org.sqlite.SQLiteConnection.<init> (SQLiteConnection.java:67)
at org.sqlite.jdbc3.JDBC3Connection.<init> (JDBC3Connection.java:28)
at org.sqlite.jdbc4.JDBC4Connection.<init> (JDBC4Connection.java:19)
at org.sqlite.JDBC.createConnection (JDBC.java:106)
at org.sqlite.JDBC.connect (JDBC.java:79)
at java.sql.DriverManager.getConnection (DriverManager.java:580)
at java.sql.DriverManager.getConnection (DriverManager.java:218)
at org.jetbrains.exposed.sql.Database$Companion.connect$lambda$15 (Database.kt:308)
Environment:
OS: Android 14 (on Motorola Moto E14)
CPU architecture: arm64-v8a (Motorola Moto E14) - Unisoc T606
sqlite-jdbc version: tested with 3.43.0.0, 3.49.1.0
Additional context
I'm using Exposed on android.