百度地图导航初始化失败问题总结
今天在集成百度地图导航sdk的时候,某些机型上无法初始化导航功能。后来经过一系列排查,有以下几点:
传送门:百度地图导航地址
开发工具是android studio,android版本是23。
步骤1:下载jar包,在build.grale中添加以下两段代码
dependencies {
compile files('libs/BaiduLBS_Android.jar')
compile files('libs/httpmime-4.1.2.jar')
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
步骤2: 复制在百度下载得demo中得 BNDemoMainActivity 和 BNDemoGuideActivity 两个类到项目中。
步骤3: 在manifest中添加以下代码:
<!-- To auto-complete the email text field in the login form with the user's emails -->
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_PROFILE"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.BAIDU_LOCATION_SERVICE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCES_MOCK_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_GPS"/>
<!-- SDK1.5需要android.permission.GET_TASKS权限判断本程序是否为当前运行的应用? -->
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.BROADCAST_STICKY"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<!-- 来电消音 -->
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!-- 摄影机 -->
<uses-permission android:name="android.permission.CAMERA"/>
<!-- 这个权限用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!-- 这个权限用于访问GPS定位 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<!-- 用于读取手机当前的状态 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- 访问网络,网络定位需要上网 -->
<uses-permission android:name="android.permission.INTERNET"/>
<!-- SD卡读取权限,用户写入离线定位数据 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="QF4jEX9lcP4yUagOeDOa633f5vmfpXco"/>
<meta-data
android:name="BaiduMobAd_STAT_ID"
android:value="48ae76de3f"/>
<service
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote">
</service>
步骤4: 没有了。
问题总结:
1.导航系统初始化失败:这里有个问题,就是下载jar的时候,必须要在 这里下载。
如图:
有个小技巧,如果单独使用一个功能的话,就随便下载,但是比如你想使用定位加导航,比如在这个页面选中这两个一起下载下来,他们的jar是一个压缩包。千万别单独下载。单独下载的不能用。
就这样。
在集成百度地图导航SDK时遇到初始化失败的问题,主要涉及Android Studio和Android 23版本。解决步骤包括在build.gradle中添加代码,复制必要类到项目中,以及在manifest中添加权限。问题关键在于要从特定链接下载包含所需功能的完整jar包,避免单独下载不同功能的jar包,因为它们可能不兼容。

1318

被折叠的 条评论
为什么被折叠?



