博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android--百度地图密钥申请+环境配置(一)
阅读量:6940 次
发布时间:2019-06-27

本文共 2948 字,大约阅读时间需要 9 分钟。

简介

在使用百度地图SDK为您提供的各种LBS能力之前,您需要获取百度地图移动版的开发密钥,该密钥与您的百度账户相关联。因此,您必须先有百度帐户,才能获得开发密钥。并且,该密钥与您创建的过程名称有关,具体流程请参考如下介绍。

Key的申请地址为:

注意:

1. 为了给用户提供更安全的服务,Android SDK自v2.1.3版本开始采用了全新的Key验证体系。因此,当您选择使用v2.1.3及之后版本的SDK时,需要到新的Key申请页面进行全新Key的申请;(新旧key不可通用)

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

3.在新key机制下,若你需要在同一个工程中同时使用百度地图、定位、导航SDK可以共用同一个key;

4. 如果您在Android SDK开发过程中使用了LBS云服务则需要为该服务单独申请一个for server类型的密钥;

申请步骤

登录百度账号

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

登陆API控制台

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

创建应用

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

配置应用

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

获取安全码

安全码的组成规则为:Android签名证书的sha1值+packagename例如:

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 中定义的名称,例如:

and_key12.png

2、使用 Android studio 开发

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

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

第一种方法:使用keytool

第1步:运行进入控制台

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

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

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

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

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

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

成功创建KEY

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

配置环境及发布

开发工具

Android开发工具很多,在这我们推荐各位开发者使用Eclipse和Android Studio作为自己的开发工具。下面我们将分别针对Eclipse和Android Studio介绍一下地图SDK的工程配置方法。

Eclipse工程配置方法

第一步:在工程里新建libs文件夹,将开发包里的baidumapapi_vX_X_X.jar拷贝到libs根目录下,将libBaiduMapSDK_vX_X_X.so拷贝到libs\armeabi目录下(官网demo里已有这两个文件,如果要集成到自己的工程里,就需要自己添加),拷贝完成后的工程目录如下图所示;

第二步:在工程属性->Java Build Path->Libraries中选择“Add External JARs”,选定baidumapapi_vX_X_X.jar,确定后返回。

通过以上两步操作后,您就可以正常使用百度地图SDK为您提供的全部功能了。

注意:由于adt插件升级,若您使用Eclipse adt 22的话,需要对开发环境进行相应的设置,方法如下:

1. 在Eclipse 中选中工程,右键选 Properties->Java Build Path->Order and Export 使 Android Private Libraries处于勾选状态;

2. Project -> clean-> clean all .

Android Studio工程配置方法

第一步:在工程app/libs目录下放入baidumapapi_vX_X_X.jar包,在src/main/目录下新建jniLibs目录,工程会自动加载src目录下的so动态库,放入libBaiduMapSDK_vX_X_X_X.so如下图所示,注意jar和so的前3位版本号必须一致,并且保证使用一次下载的文件夹中的两个文件,不能不同功能组件的jar或so交叉使用。

so的配置也可以参考demo给出的目录结构,如下图所示,在app工程路径下,新建libs,并在libs目录下放入对应不同CPU架构的so文件。这样工程并不会自动加载libs下的so,需在gradle编译时,通过加入代码: jniLibs.srcDir 'libs' 来说明so的路径为该libs路径。

第二步:工程配置还需要把jar包集成到自己的工程中,如图上图所示,放入libs目录下。对于每个jar文件,右键-选择Add As Library,导入到工程中。对应在build.gradle生成工程所依赖的jar文件说明,如图所示:

jar的配置也可参考eclipse方法,进行以下操作:

菜单栏选择 File —>Project Structure。

在弹出的Project Structure 对话框中, 选择module, 然后点击 Dependencies 选项卡.

点击绿色的加号选择File dependency. 然后选择要添加的jar包即可 完成上边的操作后在app目录下的build.gradle文件中,会有引入的类库,如上图所示。

Android studio工程配置详细请参考官方demo。

应用混淆

集成地图SDK的应用,在打包混淆的时候,需要注意与地图SDK相关的方法不可被混淆。混淆方法如下:

-keep class com.baidu.** {
*;}-keep class vi.com.** {
*;} -dontwarn com.baidu.**

保证百度类不能被混淆,否则会出现网络不可用等运行时异常

转载于:https://www.cnblogs.com/chaoyu/p/6436851.html

你可能感兴趣的文章
浮云朝露 2018
查看>>
linux基础命令---dmesg显示内核信息
查看>>
第二十章:异步和文件I/O.(十九)
查看>>
如何用纯 CSS 创作一根闪电连接线
查看>>
Ansible file资源
查看>>
短视频APP源码直播APP源码什么样的好
查看>>
这届百度搜索不太行
查看>>
Zabbix3.0实战安装部署
查看>>
SpringMVC整合Shiro
查看>>
PostgreSQL 与 MSSQL(SQL Server) 之间 数据相互迁移、导入、导出测试
查看>>
python 多进程与子进程
查看>>
Git常用命令
查看>>
自开发Web应用和SAP Customer Data Cloud Identity服务的集成
查看>>
HanLP Android 示例
查看>>
推荐四十多条纯干货 Java 代码优化建议
查看>>
「镁客·请讲」太平洋未来科技李建亿:深耕AR技术,布局垂直领域
查看>>
如何用纯 CSS 创作一种侧立图书的特效
查看>>
中软酒店管理系统CSHIS操作手册_数据结构_数据字典
查看>>
跳出弹窗页面禁止滚动(PC端和手机端)
查看>>
HTML5/CSS3鼠标悬停动画菜单按钮
查看>>