作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前我正在开发 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 文件。
最佳答案
首先阅读我的答案以添加 *.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
...
}
...
}
关于android - 如何从 android 使用 c lib(.so)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38145641/
我是一名优秀的程序员,十分优秀!