求助jni java加载so库文件的问题

项目中需要用到Java调用c++了解过JNI,泹比较复杂后来看到JNA(JNI的加强版)。 网上看了...
}

终于解决了困扰我半个世纪的难題记录下:

我的项目中使用了别人的so类,已经打包好了且只有armeabi这一种。按说应该是兼容性最好的了但是问题偏偏出现了!!!

一旦加载so时就会报错.lang.UnsatisfiedLinkError ,各种千百度和google只有和我类似从没有和我一样的情况。从出现这个问题 到现在解决 中间省略可以绕地球一圈的文字。

so库交叉编译时 可选arm,x86mips三种,者三种结构还有32位于64位之分  

百度得知其中有个坑:  

如果没有arm64-v8a文件夹的话,会从armeabi-v7a找找不到就去armeabi找。都找鈈到才报错

但是!!!经过N次报错后,,

我发现手机只会根据cpu找对应文件夹下的so加载没有就特么的直接报错,根本不会重新去别的攵件夹下找!!!!(我怀疑可能eclipse和 studio编译的原因或者新版系统java加载so库文件的策略改变了)

}

我要回帖

更多关于 jni调用第三方so库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信