您的位置:首页 > 移动开发 > Android开发

Android studio百度地图(一)

2015-08-16 09:53 429 查看
最近项目要求集成百度地图,我就去研究了一下百度地图SDK,当前的版本是: Android SDK v3_5_0_31. 由于官方给的demo是Eclipse的,Android Studio的demo可能在后面的更新版本中才会出现,我在使用Android Studio来开发百度地图的过程中也遇到了许多的曲折和困难,包括JAR包的位置,JAR包的引入,Key的生成等等。接下来会为大家做一下详细的讲解。

jar包引入和配置:

1.JAR的位置和引入

当我们新建一个工程后,到百度地图开发者平台把开发包下载下来

http://lbsyun.baidu.com/sdk/download

下载以后,会遇到一个问题:官方只给了一个Eclipse的存放指导,Android Studio是完全不一样的。

正确的存放位置是这样的:



首先在Project视图下(截图的左上角),将BaiduLBS_Android等三个jar包(有可能只有一个,看你开发包里面JAR包的数量了,一个也能用),复制粘贴在Libs文件夹下。

接下来是最重要的一步了,armeabi文件夹要放在哪里呢?是的,和eclipse不一样的地方就在这了。我们需要在main文件下新建一个jniLibs文件夹,然后将armeabi放在这个文件夹下,可以看到so文件也全部导进来了,成功。

然后为了为了让module能够使用百度地图,我们需要手动引入。

具体方法是:

1.File—>Project Structure进入如下页面



2.选择左侧最底下的app,点击上方最后一个Dependencies,然后点击最右侧绿色加号,选择第二个按钮file dependency,然后重复步骤依次添加Libs下那三个JAR包就可以了。



3.到第二步其实就可以,细心的同学如果想要检查是否导入成功,可以到build.gradle中查看,出现compile files…..就表示成功了。



key的申请:

这一部分我其实有点不太清楚,主要是对AS的签名机制不太清楚。但跟着我来弄一定能成功。

不想做这一步的同学可以直接做第二步,然后回复一下我能不能成功。

一:as生成签名

这一步,官方思路并没有给出需不需要做,但我还是做了。




按图上步骤来选择。




接下来会遇到这个,之前有用过的话就输入Password,不然直接关闭这个对话框

接着出现新的对话框,点击create new….可以看到




第一个行点击框后面的…选择存放位置。




位置选好后就在File Name里面填写文件名称,jks为后缀。

最后是回到原来的界面,像填写注册信息一样地填写,第一个的password是你的keystore密码,第二个是你的key密码。

Alias是你的key的名称。

点击OK,完成注册,发布是注意有个下拉框选择用的是debug版本,而不是release版本。

好吧,这一步完成了,不知道有没有用,但我是做了,不想做的可以直接跳过执行第二步。

二、得到debug.keystore里的SHA1值

c盘Administrator下的.android目录下,输入

keytool -list -v -keystore debug.keystore(注意中间的空格)




输入密钥库口令,此处一般直接回车就可以了。如果以前设置过密钥库口令的就想想自己用的是什么密码了。

然后就可以看到证书指纹下的SHA1值了。




复制保存那个SHA1值在文本或word中就可以了。

**

三、申请key

**

这一步结合百度地图的开发指指南来进行,我提几个注意地方。

流程大概是这样的

在你有百度开发者账号的情况下(自行根据开发指南来申请),

进入api控制台

http://lbsyun.baidu.com/apiconsole/key/create

去创建应用,应用名称随意,安全码这个地方要特别注意,是SHA1;包名的形式。

SHA1码就是上面提到的那一个,每个人都不一样,比如我的是:22:40:39:C6:AC:B9:97:07:44……..

包名就是你创建的那个android studio工程的AndroidManifest.XML里面的,package=”com.maptest”,引号里面的内容。

综合起来的安全码就是

22:40:39:C6:AC:B9:97:07:44……..;com.maptest

分开sha1值和包名的只有分号,没有+号

申请成功后,就会有一个ak给你,ak就是开发者key



替换开发者key

进入到你的工程AndroidManifest.XML中,




把ak填进入value中,参考百度地图的演示demo慢慢来做就好了

地址在这:

http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap

做了相应的layout和activity中进行相应替换,就可以运行了。运行中如果出现203问题,即校验码出错,则表明你的开发者key(AK)问题,可以再看看我这篇博客,检查是否有什么地方遗漏了。

或者去开发者论坛找找相关答案,地址在这(里面有一个附件app比较有用,下载到手机,输入包名就可以得到SHA1值,可以检查一下我们得到的SHA1值是不是对的。当时我就是因为这个问题,程序跑不通的)

http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=85103&extra=page%3D1

具体的演示就参照百度开发者指南,

http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap

运行成功就能出现百度地图。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: