加载so异常总结:System.loadLibrary

加载so异常总结:System.loadLibrary

 

程序引力关注

2018.12.11 23:58:08字数 1,271阅读 2,402

安卓开发中可能会遇到加载so的场景,但可能会遇到加载异常的情况。笔者对自己遇到的此类情况稍作总结。

问题背景

有一段网络请求的业务代码原本是在一个应用中的,为了实现复用,将这段业务代码封装成一个模块(module),然后编译成aar给另一个应用使用。但结果发现,原应用中这段业务代码是正常的,但是移植到另一个应用就出现了异常。

分析思路

分析此类问题的思路就是重点考察差异点。因为业务代码是相同的,但是在其中一个应用正常,在另一个应用异常,则需要考虑两个应用的差异点。最初考虑到的差异点或者可能的原因有:

  • 包名:两个应用,最基本的不同就是包名的不同。它的不同可能会带来异常。
  • 签名:不同的应用可能使用不同的签名,签名可能会引起业务认证或者鉴权不通过。
  • 权限:应用不同,拥有的权限也不同
  • 其他方面:其他未考虑到的差异点。

最初的思路即为这几个点。在分析问题时可以暂时确认这几个方向。若没有更为准确的思路或者灵感,最靠谱的手段还是查看日志。

分析问题最基本的手段:查看日志

尽管考虑了多个差异点,分析了可能的原因。但最实在的方式还是查看异常日志,进而为定位问题缩小范围。通过日志,定位到异常日志为:

dlopen failed: librar
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值