[英]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.我需要检索受 android 原生 sqlite 支持中的 Cursor limit(1 Mb) 限制的较大图像。
I am trying to use sqlite4java in my android studio project but am facing issues loading the native library.我正在尝试在我的 android studio 项目中使用 sqlite4java,但在加载本机库时遇到了问题。
My project libs(C:\\Users\\admin\\AndroidStudioProjects\\appname\\libs) folder has the following files:我的项目 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
When I run the command "java -jar sqlite4java.jar" on the Terminal:当我在终端上运行命令“java -jar sqlite4java.jar”时:
I get the error:我收到错误:
Error: Unable to access jarfile sqlite4java.jar
错误:无法访问 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"
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”
"libsqlite4java-android-armv7l.so" is already present in the folder "libs\\armeabi-v7a". “libsqlite4java-android-armv7l.so”已存在于文件夹“libs\\armeabi-v7a”中。
What can I do to use sqlite4java in my project?我该怎么做才能在我的项目中使用 sqlite4java?
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 .我创建了一个lib (不是 libs)文件夹,在里面我移动了文件夹armeabi 、 armeabi-v7a和x86 。
I then zipped the lib folder into lib.zip, renamed it to armeabi.lib and converted it to .jar .然后我将 lib 文件夹压缩到 lib.zip 中,将其重命名为 armeabi.lib 并将其转换为 .jar 。
This I've placed in My project libs(C:\\Users\\admin\\AndroidStudioProjects\\appname\\libs) folder:这我已经放在我的项目库(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 has the lib folder. armeabi.jar 有 lib 文件夹。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.