百度地图和百度导航冲突问题
来源:互联网 发布:有哪些画图软件 编辑:程序博客网 时间:2024/05/16 10:02
这篇记录,是因为集成百度地图导航时遇到一个问题:
libgnustl_shared.so” not found.
更多的问题描述会呈现为:
百度地图+百度定位+导航SDK冲突问题
介绍一下背景:
目前市面好用,覆盖面又大的地图,应该就是:百度和高德了。
目前的项目,我选用的是百度地图,
需要的功能:
1 定位
2 地图
3 导航
这也是目前使用地图的最常见的三个功能,1和2 最常见。
不过现在cpu架构太多了,64位cpu的android手机也非常多了。
但是一旦需要c/c++支持的话,就得编译多个so包来支持。
而目前BaiduMapSDK里,定位和地图的libs包含如下目录:
"armeabi","armeabi-v7a","mips64", "x86", "x86_64"
而导航的开发包(libs)则只支持arm。
问题来了,
情况1:
如果单独使用导航功能,则众多手机都能正常使用和编译通过。
原因:对于”导航”来说,按照论坛里其他同学所讲的,默认情况下,x64cpu的手机会自动使用arm的包,能编译通过,并正常运行。
情况2:
但若将地图,定位,导航集成到一起使用的话,定位和地图功能有
"armeabi","armeabi-v7a","mips64", "x86", "x86_64"
的so包,而导航没有。编译通过,但运行时会报:
dlopen failed: library libgnustl_shared.so"
查阅了一些帖子:
0 http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=129470
1 http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=114809
2 http://blog.csdn.net/lhmin5200/article/details/51392983
3 http://blog.csdn.net/qq_28934205/article/details/61914202
大概有2个方法:
1 删除arm64-v8a, arm-v7a, x86, x86_64目录;
2 在app.gradle里作如下配置,过滤掉其他的包:
defaultConfig { ndk { abiFilters "armeabi" } }sourceSets { main { jniLibs.srcDirs = ['libs'] }
而我目前使用方法2, 目前x64手机和arm手机都正常使用这导航功能了。
但目前还没有集成其他第三方平台(个推,友盟……),先Mark一下,待以后集成了,如果同样配置,还能使用,再来备注。
希望百度地图团队,能早日单独支持导航包的多cpu版本。
- 百度地图和百度导航冲突问题
- 百度地图SDK和百度导航SDK合并冲突问题
- 百度地图SDK和百度导航SDK合并冲突问题
- 百度地图导航问题
- 百度地图 和 ZXING 扫描冲突问题
- 关于基础百度地图和地图导航的bug问题
- android开发中百度地图和ScrollView冲突的问题
- Android百度地图SDK 导航初始化和地图初始化引起的冲突
- 百度导航,定位冲突
- 关于百度地图jar包冲突问题
- 百度地图 导航开发 可能遇到问题
- 百度地图导航初始化失败问题总结
- 关于百度地图百度、导航集成的那些额外问题
- 百度地图 API 导航
- 百度地图导航
- binbinyang---百度地图-导航
- 百度地图之导航
- iOS百度地图导航
- Python学习之旅-3
- 面向对象及组件开发(六)工厂模式之原型
- EBS GL总账成批分摊功能测试
- hibernate中的n+1问题
- Java 基础知识
- 百度地图和百度导航冲突问题
- 好的lua代码风格
- C语言实现两数的交换
- git命令
- PeerConnectionFactory分析
- 栈(stack)
- Guice provider注解
- Jmeter之Bean shell使用(二)
- 解决VMbox中软连接创建错误的问题