Andrid进阶_百度地图导航错误

本文分析了百度导航SDK出现java.lang.UnsatisfiedLinkError的具体原因,并提出了两种解决方案:一是确保只保留一个支持所有处理器类型的so文件;二是为不同处理器类型提供完整的so文件,避免因处理器类型不匹配导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

百度导航报错:

java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.navisdk.jni.nativeif.JNINaviManager.initSubSystem:(I)I

**

一看报错就知道是百度so文件或者assets下面文件错误导致的。但是一直没有找到原因
后来发现问题了:百度导航只在libs底下添加了armeabi添加了so文件,是没有问题的,但是后期又添加了Jpush的使用,Jpush提供了armeabi和armeabi-v7a两种so文件,不管这两个文件夹是为了适配哪一种处理器的,这个系统会自己做处理,就不深究了。如果没有armeabi-v7a文件夹,会直接调用armeabi文件夹底下的so文件,当添加了armeabi-v7a文件夹而处理器恰好又是armeabi-v7a对应的处理器,就会调用armeabi-v7a文件夹底下的so文件,文件夹底下没有,就会报错。
解决方法:
1、只保留一个文件夹,里面so文件要全
2、去官网下载对应的os文件放到对应的文件夹中(支持)如果官网没有,可以拷贝一份相同的放到另一个文件夹。导致APK包变大**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值