目前我正在使用Android NDK并在 jni 中成功实现C代码,并在android studio 1.5上使用jni调用c代码。
但是现在按照我的项目要求,我没有在我的android项目中使用c代码,所以我只使用 .so 共享库。
我得到了这个link并使用了 sqlcipher ,但我还没有足够的知识来了解如何添加或调用.so共享库。
参考上面的链接和示例,更新我的项目但是收到错误后
java.lang.UnsatisfiedLinkError:dlopen失败:" /data/app/com.abc.xyz-2/lib/arm/libV1.so"有不好的ELF魔法
问题:
如何从android调用.so共享库。
如何在我的项目中包含.so文件。
答案 0 :(得分:1)
首先阅读我的答案,添加* .so库:
https://stackoverflow.com/a/33164947/3626214
现在,请阅读此处如何解决Android 6.X设备上的java.lang.UnsatisfiedLinkError: dlopen failed:
,因为当您添加* .so库时,您将在此设备上收到错误:
<强>的build.gradle 强>
android
{
//23 or higher
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig
{
...
//important code, write API 22
targetSdkVersion 22
...
}
...
}