使用百度定位SDK为什么需要申请AK?

Android百度定位SDK自v4.0版本之后开始引入了百度地图开放平台的统一AK验证体系。

通过AK机制,开发者可以更方便、更安全地配置自身使用的百度地图资源(如设置服务配额等)。

随着百度地图开放平台的发展,未来您还可通过AK获得更多服务(如提升服务次数、定制化服务等)。

注意:

1.当您选择使用v4.0及之后版本的定位SDK时,需要先申请且配置AK,并在程序相应位置填写您的AK。(选择使用v3.3及之前版本SDK的开发者,不需要使用AK)

2.每个AK仅且唯一对于1个应用验证有效,即对该AK配置环节中使用的包名匹配的应用有效。因此,多个应用(包括多个包名)需申请多个AK,或者对1个AK进行多次配置。

3.若您需要在同一个工程中同时使用Android定位SDK和Android地图SDK,可以使用同一个AK。

申请配置AK步骤

申请与配置步骤详见如下:

1.登录百度账号

访问API控制台页面,若您未登录百度账号,将会进入百度账号登录页面,如下图:

android 定位 Android 定位 sdk_Android

2.登陆API控制台

登录会跳转到API控制台服务,具体如下图:

android 定位 Android 定位 sdk_包名_02

3.创建应用

点击"创建应用",进入创建AK页面,输入应用名称,将应用类型改为:“Android SDK”:

android 定位 Android 定位 sdk_包名_03

android 定位 Android 定位 sdk_包名_04

4.配置应用

在应用类型选为“Android SDK”后,需要配置应用的安全码,如下图所示:

android 定位 Android 定位 sdk_android 定位_05

5.获取安全码

安全码的组成规则为:Android签名证书的SHA1值+包名,例如:

SHA1:BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75

包名:com.baidumap.demo

Android应用获取包名(packagename),根据开发工具不同,获取位置有所不同:

1、使用 Eclipse 开发

包名是Android应用程序本身在AndroidManifest.xml 中定义的名称,例如:

android 定位 Android 定位 sdk_android 定位_06

2、使用 Android Studio 开发

包名需要在文件build.gradle中查询 applictionId,例如:

android 定位 Android 定位 sdk_包名_07

Android签名证书的SHA1值获取方式有两种:

第一种方法:使用keytool

第1步:运行进入控制台

android 定位 Android 定位 sdk_签名证书_08

android 定位 Android 定位 sdk_android 定位_09

第2步:定位到.android文件夹下,输入cd .android

android 定位 Android 定位 sdk_签名证书_10

第3步:输入keytool -list -v -keystore debug.keystore,会得到三种指纹证书,选取SHA1类型的证书(密钥口令是android),例如:

其中keytool为jdk自带工具;keystorefile为Android 签名证书文件

android 定位 Android 定位 sdk_android 定位_11

android 定位 Android 定位 sdk_包名_12

第二种方法:在Eclipse中,在adt 22中直接查看

如果使用adt 22,可以在Eclipse中直接查看:windows -> preferance -> android -> build。 如下图示:

android 定位 Android 定位 sdk_包名_13

其中“SHA1 fingerprint”值即为Android签名证书的SHA1值。

6.成功创建AK

在输入安全码后,点击“确定”完成应用的配置工作,您将会得到一个创建的AK,请妥善保管您所申请的AK。到这您就可以使用新AK来完成您的开发工作了。