之前学习的项目集成过百度地图的API,遇到了一些坑,现在发出来汇总一下,部分内容参照了网上他人的文章。
环境:Eclipse+ADT
一个百度地图的项目需要修改以下东西
1.在Application中初始化SDK2.Manifest中加权限 Server,配置Application
3.添加JAR包
4.在lib目录下添加不同型号手机的.so文件(版本要对应)
5.注意:虽然各个型号下的so文件名字都一样但是其实是不同的文件,所以需要一个个从Demo
中复制过来
百度导航的坑:
1、将demo assert文件夹下的.png文件,复制到你的项目文件中,因为其实这是.zip的资源
文件,百度工程师不知道为什么的把它改成.png文件进行隐藏了,可怕
2、每个CPU的资源文件夹下都需要有以下so资源文件(因为demo只有一个CPU类型,所以如果
你的项目有其他的CPU类型需要都复制一遍)
libcurl.so
libapp_BaiduVIlib.so
libgnustl_shared.so
libBDSpeechDecoder_V1.so
libapp_BaiduNaviApplib.so
libbd_etts.so
libbds.so
3、
/**
* 反初始化导航服务,否则退出程序会报接收器未注销的错误
*/
private void unInitNavigationService()
{
BaiduNaviManager naviManager = BaiduNaviManager.getInstance();
if(BaiduNaviManager.isNaviInited())
{
naviManager.uninit();
}
VDeviceAPI.unsetNetworkChangedCallback();
}
网上说uninit会导致第二次进入导航页面黑屏,不知道是不是因为调用位置不对,先mark一下