Peaked
Peaked

Reputation: 118

adding Sqlite4java in android studio project

I have a requirement to retrieve larger images which is limited by Cursor limit(1 Mb) in android's native sqlite support.

I am trying to use sqlite4java in my android studio project but am facing issues loading the native library.

My project libs(C:\Users\admin\AndroidStudioProjects\appname\libs) folder has the following files:

enter image description here

    armeabi\libsqlite4java-android-armv5tejl.so
    armeabi-v7a\libsqlite4java-android-armv7l.so
    x86\libsqlite4java-android-i686.so
    libsqlite4java-linux-amd64.so
    libsqlite4java-linux-i386.so
    libsqlite4java-osx.dylib
    sqlite4java.jar
    sqlite4java-docs.zip
    sqlite4java-src.zip
    sqlite4java-win32-x64.dll
    sqlite4java-win32-x86.dll

When I run the command "java -jar sqlite4java.jar" on the Terminal:

I get the error:

Error: Unable to access jarfile sqlite4java.jar

Nonetheless I can use the classes in my code; but when I try to open a database connection I get the exception:

com.almworks.sqlite4java.SQLiteException: [-91] cannot load library:java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader[DexPathList[[zip file"/data/app/diary.appname-2/base.apk"],nativeLibraryDirectories=[/vendor/lib,/system/lib]]]couldn't find "libsqlite4java-android-armv7l.so"

"libsqlite4java-android-armv7l.so" is already present in the folder "libs\armeabi-v7a".

What can I do to use sqlite4java in my project?

Upvotes: 2

Views: 1350

Answers (1)

Peaked
Peaked

Reputation: 118

I finally found a solution.

I've made a lib(not libs) folder and inside it I've moved the folders armeabi, armeabi-v7a and x86.

I then zipped the lib folder into lib.zip, renamed it to armeabi.lib and converted it to .jar.

This I've placed in My project libs(C:\Users\admin\AndroidStudioProjects\appname\libs) folder:

    armeabi.jar
    libsqlite4java-linux-amd64.so
    libsqlite4java-linux-i386.so
    libsqlite4java-osx.dylib
    sqlite4java.jar
    sqlite4java-docs.zip
    sqlite4java-src.zip
    sqlite4java-win32-x64.dll
    sqlite4java-win32-x86.dll

armeabi.jar has the lib folder.

Upvotes: 2

Related Questions