Android aar包的so和jniLibs中的so库冲突

       以具体的情景带入,我在项目中引用了百度语音的sdk,和vlc的aar, 当先前只集成了vlc的时候,视频能正常播放,集成完百度语音发现语音功能相关一切正常,但是vlc却崩溃了,百分之百的已经确定是因为后来集成了百度语音的原因从而影响了vlc的集成功能,为什么会这样呢?首先查看日志记录如下,可以发现崩溃的原因是找不到nativeNew的实现方法:

 

        然后跟踪到nativeNew方法所在的地方:

private native void nativeNew(String[] var1, String var2);

        从而可知,这是个jni,调用的是aar中so库里面的C++方法。后来集成百度语音的时候,根据百度的接口文档在项目中新建了jniLibs并放入了百度语音所需要的so文件,就是因为这后来导入的jniLibs,导致了先前功能好用的aar包的so库和jniLibs的so库冲突了,最开始的解决方案是既然如此就不能按照百度语音的常规说明来集成了,虽然现在的语音文档说明so库要放在jniLibs中,但是一年多以前的时候,那时候做百度地图的时候,百度地图提供的官方文档提供了2种方式集成地图的so:

         1.和现在一样都放在jniLibs中,自动配置

         2.把放在jniLibs中的so库都放在libs中,然后手动配置jniLibs的路

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值