您的位置:首页 > 编程语言 > Java开发

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader

2016-04-28 19:29 525 查看
相信也有人在从事安卓开发中也有遇到过此类问题,这几天碰到了该问题,正好又弄明白了问题产生的原因,写个博客记录一下。

最近公司app中想要加入视频直播的功能,于是选用了乐视的云直播SDK(这是坑的开始,哈哈,顺带黑了一把乐视)。楼主在往自己的项目中集成乐视SDK之前,先新开了一个项目用于测试,乐视云播的功能是否可用。集成之后一切正常,看起来非常完美,离视频在线直播只有一步了,只要集成进自己项目中就可以了,想想就激动啊!!

麻烦出现了,在往自己的项目中集成乐视云播时一直提示标题所示的错误

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.aiming.weipai-2/base.apk"],nativeLibraryDirectories=[/data/app/com.aiming.weipai-2 b/arm64, endor b64, /system b64]]] couldn't find "liblecplayer.so"开始楼主一直不明白,测试项目中一切完好,同时乐视提供的demo也完全没问题啊,代码也检查好几遍了啊,就是没问题啊,为啥一运行就挂呢,这不科学。。。为啥一直提示arme64-v8a下面找不到可用的.so文件,他就不能自动去armeabi-v7a下找呢,测试项目中也并没有arme64-v8a文件夹,不是照样跑起来了。

然后各种google、百度查资料之后,发现一个连接,喏,就是这个 http://www.zhihu.com/question/36893314 简单粗暴的解决了楼主心中的疑惑,直接上重点:





一切都解释的通了,由于楼主的项目有引入其他项目的.so文件,所以在arme64-v8a文件夹是有其他.so文件存在的,这也就解释了为什么系统一直要在arme64-v8a文件夹中查询"liblecplayer.so",而不去armeabi-v7a文件夹。然而乐视并没有提供arme64-v8a相对应的.so文件,兼容性不到位(又黑他一把。。。)

一般应用的libs下都有这几个文件夹





对这几个文件夹不清楚的童鞋可以参考下这个文章 http://blog.csdn.net/mao520741111/article/details/50328669
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: