简介

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

Key的申请地址为:http://lbsyun.baidu.com/apiconsole/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 中定义的名称,例如:

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 SDK

开发工具

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

Android--百度地图密钥申请+环境配置(一)相关推荐

  1. 百度地图-----密钥申请

    百度地图-–密钥申请 ONE Goal, ONE Passion ! 应用中集成地图时我们一般选择百度或高德地图.无论是什么集成只要是第3方集成都要求我们去申请什么appKey之类的东西.有的申请起来 ...

  2. [android] 百度地图开发 (一).申请AK显示地图及解决显示空白网格问题

        最近做android百度地图,但是使用baidumapapi_v2_3_1.jar和libBaiduMapSDK_v2_3_1.so显示百度地图时总是遇到问题--只显示网格而没有显示地图,网络 ...

  3. Android 集成百度地图之申请TTS授权最新版

    Android 集成百度地图之申请TTS授权最新版. 前提:登录百度地图开放平台,且已创建好应用. 开发文档-Android 导航SDK-TTS授权申请. 这里有个坑,简单说下,进入http://yu ...

  4. Android百度地图之位置定位和附近查找代码简单实现 (上)

    很长时间没有做Android相关知识了,闲暇之余再弄了弄最新的百度地图API,主要是进行百度地图附近餐馆查找功能来练练手,同时熟悉下最新的API教程.文章比较基础,也希望对你有所帮助~参考前文:   ...

  5. Android百度地图——搜索服务之周边检索

    周边检索:根据检索词.中心点地理坐标和半径与发起周边检索. 实现场景:查找以上海市浦东新区为中心,半径为1000米内所有的"浦东发展银行"(搜周边). 实现步骤: 一.前提条件: ...

  6. Android - 百度地图打包之后出现的问题

    一.关于百度地图开发-调试通过-打包失败(授权Key不正确) 百度地图开发调试的应用程序正常,打包后显示授权key失败 这是由于调试生成的应用程序使用的是eclipse默认的SHA1的值 我们需要使用 ...

  7. android地图入门,android 百度地图入门01 (史上最详没有之一)

    最近一直和百度地图打交道,写几篇博客记录一下吧,目前最新版是4.0的 ,之前我用的是3.7的, 就以4.0的为例说一下最基本的配置流程吧. 一.准备工作 1.申请一个百度地图开发者账户--地址:htt ...

  8. Android studio百度地图SDK开发 2020最新超详细的Android 百度地图开发讲解(3) 路线规划步行骑行驾车路线规划

    2020最新超详细的Android 百度地图开发讲解(3) 路线规划步行骑行驾车路线规划 开发前配置,显示基本地图,实时定位等查看之前代码,此博客紧接上一博客:https://blog.csdn.ne ...

  9. Android百度地图 - 在地图上标注已知GPS纬度经度值的一个或一组覆盖物 - OPEN 开发经验库 - 360安全浏览器 8.1...

    Android百度地图 - 在地图上标注已知GPS纬度经度值的一个或一组覆盖物 - OPEN 开发经验库 - 360安全浏览器 8.1 首页   代码   文档   问答   资讯   经验   Gi ...

最新文章

  1. 谈 Kubernetes 的架构设计与实现原理
  2. 【UAV】气压计 SPL06
  3. 从响应式Spring Data存储库流式传输实时更新
  4. PyTorch学习(7)-Seq2Seq与 Attention
  5. jq动态拼接html页面及数据
  6. 36_入门泛型的基本应用
  7. TTL转USB 六合一
  8. 【AD18】原理图生成PDF
  9. 游戏建模中3DMAX里面的【烘焙规范】大盘点
  10. html表格的形式制作调查问卷,问卷调查表格式,问卷调查怎么制作?
  11. JDBC - new Date插入mysql数据库,数据库时间多一秒问题
  12. 程序员到底是吃青春饭还要奋斗?那么行业前景又如何?
  13. 支付网关路由之设计方案实战
  14. Unity复制粘贴功能
  15. 第十节 项目风险、收尾、知识产权管理
  16. 软件服务器 配置文件,服务器生成软件配置文件
  17. Verilog语言程序框架
  18. 华为OD机试 - 按身高和体重排队(Java JS Python)
  19. Python 视频教程百度云分享
  20. shell 编程三剑客之三:awk 详解

热门文章

  1. echarts 地图 scatter点击事件_React实现高亮可点击地图
  2. vb计算机考试试题及答案,计算机二级考试《VB》操作试题及答案2016
  3. python 异常处理模块_我的python学习之路-异常处理和模块导入
  4. 离散傅里叶变换(DFT)(为了使用而学习的DFT)
  5. GDB 程序调试简单实践
  6. 【原】iOS学习之Quartz2D(1)
  7. 上班第一天(1)--一个程序员的成长史(10)
  8. 90后大龄女考研二战失败 该何去何从
  9. Spark源码分析之九:内存管理模型
  10. Turn over a new leaf