我需要检索较大的图像,该图像受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文件夹。