开发注意事项 最后更新时间: 2026年08月26日
添加高德 Key
为了保证高德 Android SDK 的功能正常使用,您需要申请高德 Key 并且配置到项目中。
项目的 “AndroidManifest.xml” 文件中,添加如下代码:
配置权限
Android 6.0及以上系统可以参考 Android 6.0权限说明章节。
请在 AndroidManifest.xml中配置权限,代码如下:
<!--允许访问网络,必选权限-->
<uses-permission android:name="android.permission.INTERNET" />
<!--允许获取精确位置,实时导航为必选-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--允许获取粗略位置,实时导航为必选-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!--允许获取网络状态,用于网络定位(无gps情况下的定位),若需网络定位功能则必选-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--允许获取wifi网络信息,用于网络定位(无gps情况下的定位),若需网络定位功能则必选-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--允许获取wifi状态改变,用于网络定位(无gps情况下的定位),若需网络定位功能则必选-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!--后台获取位置信息,若需后台定位或持续导航则必选-->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<!--用于申请调用A-GPS模块,卫星定位加速-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<!--用于用户链接蓝牙时,在导航组件页面的蓝牙连接提醒,建立链接后开发者可选用蓝牙通道进行tts播报-->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!--用与导航状态中保持屏幕常亮-->
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<!--允许写设备缓存,用于问题排查-->
<uses-permission android:name="android.permission.WRITE_SETTINGS" /> 如使用定位 SDK,还需在 application
节点声明定位服务:
隐私合规接口说明:
1. 司乘的合规接口说明如下:
/**
* 通知SDK您的应用是否已经弹出的隐私协议声明,是否已经包含高德隐私声明。<br>
* 设置之后SDK内部会保存声明设置,如果没有变动后续可以不再设置。<br>
* <p>
* <font color="red">注意:</font>
* <li>必须在初始化SDK之前设置,否则可能SDK不会工作。<br>
* 建议在APP首次启动的时候,弹出隐私协议声明,并将对应的参数设置给SDK。
* </li>
* </p>
* @param context 上下文
* @param hasShow 是否已经弹窗显示隐私声明, 如果为false,SDK将不会进行工作
* @param hasContains 隐私声明里是否已经包含高德隐私协议声明, 如果为false,SDK将不会进行工作
* @since 4.2.0
*/
public static void updatePrivacyShow(Context context,
boolean hasShow,
boolean hasContains);/**
* 通知SDK隐私权政策是否取得用户同意。<br>
* 设置之后SDK内部会保存声明设置,如果没有变动后续可以不再设置。<br>
* <p>
* <font color="red">注意:</font>
* <li>必须在初始化SDK之前设置,否则可能SDK不会工作。<br>
* 建议在APP首次启动的时候,弹出隐私协议声明,并将对应的参数设置给SDK。
* </li>
* </p>
* @param context 上下文
* @param hasAgree:隐私权政策是否取得用户同意 如果为false,SDK将不会进行工作
* @since 4.2.0
*/
public static void updatePrivacyAgree(Context context,
boolean hasAgree);2.在调用司乘 SDK 之前必须进行合规检查,设置接口之前保证隐私政策合规,检查接口如下:
个人及设备信息采集设置
代码混淆
在 proguard-rules.pro
中按实际引入的 SDK 版本配置,示例:
# 地图
-keep class com.amap.api.maps.**{*;}
-keep class com.autonavi.**{*;}
-keep class com.amap.api.trace.**{*;}
# 定位
-keep class com.amap.api.location.**{*;}
-keep class com.amap.api.fence.**{*;}
-keep class com.autonavi.aps.amapapi.model.**{*;}
# 搜索
-keep class com.amap.api.services.**{*;}
# 导航
-keep class com.amap.api.navi.**{*;}
-keep class com.alibaba.idst.nui.* {*;}
-keep class com.google.**{*;}
# 司乘
-keep class com.amap.sctx.**{*;}
-keep class com.amap.api.feedback.**{*;}
-keep class com.amap.api.trace.**{*;}
