我需要检索较大的图像,该图像受android native sqlite支持中的Cursor limit(1 Mb)限制。

我正在尝试在我的android studio项目中使用sqlite4java,但是在加载本机库时遇到了问题。

我的项目libs(C:\ Users \ admin \ AndroidStudioProjects \ appname \ libs)文件夹具有以下文件:



    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


当我在终端上运行命令“ java -jar sqlite4java.jar”时:

我得到错误:

错误:无法访问jarfile sqlite4java.jar

尽管如此,我仍可以在代码中使用这些类。但是当我尝试打开数据库连接时出现异常:

com.almworks.sqlite4java.SQLiteException:[-91]无法加载库:java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader [DexPathList [[zip file“ /data/app/diary.appname-2/base.apk”] ,nativeLibraryDirectories = [/ vendor / lib,/ system / lib]]]找不到“ libsqlite4java-android-armv7l.so”

文件夹“ libs \ armeabi-v7a”中已经存在“ libsqlite4java-android-armv7l.so”。

如何在项目中使用sqlite4java?

最佳答案

我终于找到了解决方案。

我已经创建了一个lib(不是libs)文件夹,并且在其中移动了armeabi,armeabi-v7a和x86文件夹。

然后,我将lib文件夹压缩到lib.zip中,将其重命名为armeabi.lib并将其转换为.jar。

我放在这里
我的项目libs(C:\ Users \ admin \ AndroidStudioProjects \ appname \ libs)文件夹:

    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具有lib文件夹。

08-18 11:05