百度地图android兼容,Android百度地图SDK无法支持64位平台完美解决方案

本文详细介绍了在Android开发中遇到百度地图SDK与64位平台兼容性问题的原因及解决方法。问题源于百度地图SDK的libs只包含armeabi文件夹,而极光推送等其他SDK可能包含64位文件夹。解决方案包括删除除armeabi外的文件夹,或者使用一键下载包中的64位so文件替换旧文件,确保项目能同时兼容百度地图和其他64位SDK。

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

首先强调下,百度地图早已经处理了对64位平台的支持,而且现在很多手机都用64位处理器了,而且很多应用使用百度地图sdk都没有问题,那么问题就是我们没有使用好百度地图了。

最近开发项目时候遇到一个问题,问题报错信息有这么一句话

/lib/arm64/libBaiduMapSDK_base_v4_1_0.so" is 32-bit instead of 64-bit。

意思应该是我的机器用的是64位的芯片,可是so文件是32位的,所以报错了。

先说一下什么大约什么情况下会遇到这个bug。后面会给出完整解决方案。

0818b9ca8b590ca3270a3433284dd417.png

在百度地图sdk下载链接处有两个下载按钮,一个是自定义下载,一个是一键下载。

没想太多直接点击自定义下载,选择好功能,之后把libs包下面的东西复制到项目中,这里新建了一个项目。然后写了一个单独的定位功能,运行一切正常。

然后把这个项目copy到另外的工程中就遇到了上面的问题。

经过调试大概知道了问题的根源就是原来的项目里有极光推送。分析了原因之后大概理解情况是这样的。

百度sdk的libs里只有armeabi一个文件夹,极光推送的libs里除了armeabi还有好多文件夹。当把这些文件夹复制进去后百度地图sdk就不能用了。就是说当libs里面有64位的armeabi文件夹存在的时候系统会根据芯片位宽寻找so文件,如果找到的不是64的就报这个错误了。

当系统没有64位的文件夹时候会直接调用arm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值