I managed to make sqlite4java work on Android Studio and on a test device. However, it seems that some 64-bit code is missing. When I try to upload the release version of the app to Google Play Store, I get the following error:
“This release is not compliant with the Google Play 64-bit requirement
The following APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native code: 56.
Include 64-bit and 32-bit native code in your app. Use the Android App Bundle publishing format to automatically ensure that each device architecture receives only the native code it needs. This avoids increasing the overall size of your app.”
At first, I had the following error (I only added the line
implementation 'com.almworks.sqlite4java:sqlite4java:1.0.392' to my build.gradle file): java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.dropin_science.speedreading-u6gH_ZGWdQoCn01Fy5uCBQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.dropin_science.speedreading-u6gH_ZGWdQoCn01Fy5uCBQ==/lib/x86, /system/lib, /system/product/lib]]] couldn't find "libsqlite4java-android-i686.so"
I fixed it by using jars instead (attached files, the key one being armeabi based on this answer: StackOverflow) under /AndroidStudioProjects/MyAppName/app/libs and then from Android Studio I right-clicked on the file to “Add as library…”.
Is this the proper way to import sqlite4java to Android; how do I make it compatible with 64-bit?