文档详情

百度地图问题记录(导航篇).doc

发布:2017-06-05约1.61千字共3页下载文档
文本预览下载声明
百度地图问题记录(导航篇) 在已经有了百度地图定位功能后,在工程加入了导航SDK包,但出了一系列问题,在煎熬了这么久之后问题终于解决了,把过程记录一下。给大家一个忠告,不要分开导入不同功能的开发包,直接下一个完整的开发包吧! 1、导航引擎初始化失败的解决办法 问题: 我之前的工程用了百度地图的定位功能,导入了,在我把导航开发包和相关代码加入之前的工程中后,在app上出现了“百度导航引擎初始化失败”,log里报错: com.administrator.httpdemo E/dalvikvm: dlopen(/data/data/com.administrator.httpdemo/lib/libgnustl_shared.so) failed: dlopen failed: library /data/data/com.administrator.httpdemo/lib/libgnustl_shared.so not found libgnustl_shared.so这个文件没找到,于是找armeabi文件夹,发现有这个文件。这部分程序是直接从另一个demo搬过来的,单独是可以运行的。我想是不是包有冲突,但能够下载,没有报错。于是去找度娘,发现博客:/baiduarticle/details和博主问题一样,是库冲突导航官方demo中只有一个armeabi文件夹rmeabi文件夹rmeabi文件夹但是添加之后,就提醒“百度导航引擎初始化失败”。 博主移除一个arm64-v8a后,能正常运行了 galaxy lib host missing meta-data,make sure you know the right way to integrate galaxy 看这警告是meta-data有问题吗?但有关的只有一个APPkey和一个APIkey,只有APIKey是我自己申请的, 找度娘之后,总结网友解决办法有以下几点: 1、权限写在了application标签中也会报这个错,正确的应该是在manifest 里面,我的是正确的写法。 2、有人说删掉BAIDU_LOCATION_SERVICE权限,我删掉之后没有用,还是不行。 3、有人说去掉SDKInitializer.initialize(this)这个初始化,就不会出现galaxy lib host missing meta-data,make sure you know the right way to integrate galaxy,但是我需要用到百度的定位功能,不能删。 4、有人说该问题是因为key值对应的签名与app打包用的签名不一致。app在开发时与发布时有两个不同的签名。我之前申请的时候,百度还只有一个SHA1值,现在分了开发版和发布版两个SHA1,我觉得可能就是这个原因了,于是去/apiconsole/key修改Key,修改方法在《百度SDK导入AS》文档中的第七步有详细介绍。但并没有什么用!还是闪退! 我已经到了心灰意冷的地步了!我决定放弃导入两个开发包,直接下载一个开发包!即使这两个包表面上并没有冲突! 如上图所选,所有的开发选项合成一个开发包,下载之后,导入。 然并卵!!!错误还是那个错误! 想想在没有加导航时,定位是可以用的。加了导航之后,我把存.SO文件的几个文件夹给删了。对比新下载的开发包,里面只有一个armeabi文件夹,于是我删除了工程里X86文件夹,仅留一个armeabi文件夹,并将开发包中的文件全部复制过来,发现工程中比下载的开发包多了一个,删掉!再重新运行,OK! 那到底是哪里出了问题,又重新看了一下导入两个包的工程,删掉X86文件夹,发现不仅定位不能用,连导航都没用了,算路失败! 暂时先认为是两个包之间的SO文件冲突吧!
显示全部
相似文档