全部服务产品
开发者频道
定价
登录
工程配置与SDK集成
下载开发文档
1、权限说明
<!--用于访问网络,网络定位需要上网-->
<uses-permission android:name="android.permission.INTERNET" />
<!--用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!--用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<!--获取网络状态,用于在线算路与离线算路之间的切换 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--用于访问WIFI网络状态,用于判断网络状态 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 后台服务 -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<!-- 诱导悬浮窗 -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.MANAGE_OVERLAY_PERMISSION" />

注意:Android导航SDK从手机系统获取定位信息,定位频率为每秒一次,定位精度为系统定位精度外部无法控制

2、授权key配置

申请到百度开放平台应用Key后,为了能够百度导航SDK正常运行,将其配置在AndroidManifest.xml的application节点内部,如下所示:

<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="申请的Key" />
3、SDK和TTS授权申请配置
这里包括SDK授权和TTS授权两部分,申请是先申请SDK授权,再申请TTS授权,具体授权申请方式如下:
1、SDK授权申请
(1)准备材料: ① apk包名 ② apk签名sh1
(2)登录地图开放平台官网的控制台申请
(3)记得将申请的key按照上述说明,在工程Manifest文件中进行配置,否则导航SDK将处于功能不可用状态
2、TTS授权申请
SDK授权申请后,可以继续申请TTS授权。
(1)以SDK授权申请时相同账号登录 https://ai.baidu.com/tech/speech,点击右上角的“控制台“,进入控制台界面,点击左侧导航栏“语音技术”,然后点击创建应用。
(2)按步骤填入应用名称、包名等信息。
(3)点击立即创建会生成App ID、API Key和Secret Key,就是在开发中初始化TTS能力时传入的参数
(4)在百度地图开放平台,点击控制台,左侧边栏点击"应用管理"-"我的应用",页面上找到"离线tts申请"点进去,然后点击"申请新语音key",选择相应的应用对应的ak填写资料提交申请,申请成功后生成audio_key,该值为tts初始化的authSn参数
至此,和导航SDK集成相关的授权申请就完成了。
4、Gradle配置

为了避免Android "64K 引用限制"引起的异常,在app的build.gradle中需要引入multidex包,并进行相关配置,并且导航SDK内部使用了annotationProcessor,同样需要在build.gradle中配置,如下。

defaultConfig {
……
// 避免"64K 引用限制"
multiDexEnabled true
// 导航SDK内部使用了annotationProcessor,需要添加下面代码,防止编译异常
javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }
}
5、代码混淆
# BaiduNavi SDK
-dontoptimize
-ignorewarnings
-keeppackagenames com.baidu.**
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod
-dontwarn com.baidu.**
-dontwarn com.baidu.navisdk.**
-dontwarn com.baidu.navi.**
-keep class com.baidu.** { *; }
-keep interface com.baidu.** { *; }
-keep class vi.com.gdi.** { *; }
-dontwarn com.google.protobuf.**
-keep class com.google.protobuf.** { *;}
-keep interface com.google.protobuf.** { *;}
-dontwarn com.google.android.support.v4.**
-keep class com.google.android.support.v4.** { *; }
-keep interface com.google.android.support.v4.app.** { *; }
-keep public class * extends com.google.android.support.v4.**
-keep public class * extends com.google.android.support.v4.app.Fragment

上一篇

导航SDK接口变化说明

下一篇

自动部署

本篇文章对您是否有帮助?