首页 > 其他 > 详细

精神哥讲Crash(一):UnsatisfiedLinkError

时间:2015-12-18 18:35:04      阅读:140      评论:0      收藏:0      [点我收藏+]
版权声明:本文为腾讯Bugly原创文章,如需转载,请标明出处。
 
大家好,我是腾讯Bugly的精神哥(英文名:spirit),是Bugly资深码奴的同时,又是Bugly神秘的Crash实验室研究员哦!我的主要任务就是泡在实验室里,嗑着瓜子嚼着鸡爪,研究移动App中各种Crash(专挑疑难、坑爹、时髦、有趣的Crash),并通过“精神哥讲Crash”系列定期分享给大家!
 
今天精神哥给大家分享的第一个Crash是“UnsatisfiedLinkError” 。
 
一、UnsatisfiedLinkError基本介绍

技术分享 

 
现在App很多功能都是通过集成第三方工具实现的,第三方工具很有可能在SO动态库里实现核心功能(Bugly提供的libBugly.so,能捕获这类C/C++异常!),所以就算你不用NDK开发也一定会跟SO打交道,你确定你加载SO的姿势都对了吗?
 
二、错误场景分析
1、低级错误——根本木有SO,你加载个球啊!

技术分享 

 
2、进阶错误——根本木有X86的SO,在X86的设备上你加载个球啊!
技术分享
 
3、大坑——尼玛,好难发现!
技术分享
   
三、精神哥有话说
虽然出错原因很简单,但犯错的人很确实多,这货都挤到Bugly Crash影响力第16位了!
精神哥发现java.lang.UnsatisfiedLinkError中couldn‘t find “XX.so”的占比非常高,上面提的三个场景都是这种错误!
但你见过下面这种错误吗?
java.lang.UnsatisfiedLinkError:dlopen failed: “**/*/arm/*.so" has unexpected e_machine: 3
这是天坑啊,肯定是实习生挖的!
想知道怎么发生的?
 
请搜索关注公众号:腾讯Bulgy,或搜索微信号:weixinBugly,关注我们 ,寻找答案
 

精神哥讲Crash(一):UnsatisfiedLinkError

原文:http://www.cnblogs.com/bugly/p/5057404.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!