百度地图---dlopen failed: "/data/data/com.zoommax.car/files/libs/libBaiduMapSDK_base_v4_2_1.so" is 32-bi

来源:互联网 发布:上证综合指数季度数据 编辑:程序博客网 时间:2024/04/27 05:41

错误1:No implementation found for int com.baidu.platform.comjni.tools.JNITools.initClass 

错误2:loadExceptionjava.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/com.zoommax.car/files/libs/libBaiduMapSDK_base_v4_2_1.so" is 32-bit instead of 64-bit


去年的老项目,这2天,改东西.然后就报这个错了.

比较坑爹的百度地图

解决办法:--------亲测

错误信息说在工程中找不到64位的so文件,32位的不能代替。遇到这个问题应该就不知所措了,明明都是按照三方文档上的步骤导入的,怎么还会有报错,这个问题出现的原因就是有些三方的架包只提供了32的so文件,而没有提供64位的so文件。说到这,首先想到的办法就是从网上在下载个64位的so文件不就完了,问题就来了,有些网上找的64位的不一定是三方官方提供的,那么就不能去使用和兼容。之前我就遇到过使用高德地图和二维码扫描Qrcode造成的冲突,Qrcode是一个module做为app工程的library,因为高德地图必须要在armeabi-v7a文件夹下放置so文件,而做为library的Qrcode则同样也需要armeabi-v7a不然编译报错,但恰巧Qrcode只有32位的,这样就尴尬了,后来查询了资料终于解决了这个问题




ndk 那个红框 这句话意思是只加载32位的so文件,那么如果是64位系统的手机肯定也是可以兼容的。

2.这时如果还是有报错,可能是因为gradle的配置中,并不知道是否要做操作系统的兼容,这时只要在gradle.properties文件中加上Android.useDeprecatedNdk=true;这样就搞定了。


阅读全文
0 0
原创粉丝点击