【发布时间】:2015-08-29 20:06:15
【问题描述】:
我很难在 Android 应用程序中使用共享库。
我已经下载了jsqlite shared libs 并将它们解压缩到我的项目中到 HelloSpatialite/app/src/main/jniLibs 目录。 SO 帖子 (example) 说这是您在最近的 Android Studio 版本中需要做的所有事情。
这是我的目录列表:
HelloSpatialite/app/src/main/jniLibs]: ls -l /.so
-rwxr-xr-x@ 1 位用户员工 7778576 Jun 16 22:40 armeabi-v7a/libjsqlite.so
-rwxr-xr-x@ 1 位用户人员 7782620 Jun 16 22:30 armeabi/libjsqlite.so
-rwxr-xr-x@ 1 位用户员工 12080476 Jun 16 22:51 x86/libjsqlite.so
我验证了共享库包含在 APK as in step 3 here.
但是,现在我无法使用该库中的类和函数。
如果my java code 使用import jsqlite.Database;,我将从Android Studio 获得Error:(6, 15) error: package jsqlite does not exist。
我正在尝试关注android-spatialite tutorial。本教程的代码示例来自 eclipse 时代,并且似乎以稍微不同的方式获取 jsqlite 包。
有人可以帮我走上正轨吗?
编辑:我的代码(减去共享对象)位于github。
【问题讨论】:
-
您的
AndroidManifest.xml是什么样的?您添加了<uses-library ...>条目吗? -
我在本地的
AndroidManifest.xml中尝试了这个<uses-library android:name="libjsqlite" android:required="true" />,但没有明显区别。 -
您链接的存档仅包含 jni 库,但我认为您还需要一个 java API jar 来链接它们。
标签: java android android-studio shared-libraries