这是基于百度地图sdk的地图app开发系列博客第一篇
代码仓库位置:https://github.com/YanhuiLu89/lmap.git
下一篇 基于百度地图sdk的地图app开发(二)——地图显示
因为本人是做C++开发,android和java都不熟,这方面知识有说错或者不好的习惯,欢迎赐较。
一、开发环境
1.1系统:windows
1.2 ide:android studio
关于android studio的安装,网上有很多教程,其中Android Studio超详细安装教程这一篇就很详细,可以参考。
1.3 开发语言java
二、sdk下载
可以根据自己需求,选择不同功能下载。我这里选的是全量定位、步骑行导航、检索、驾车导航
配置选择的是jar、标准开发包
三、sdk加载与使用
3.1注册和获取密钥
在sdk下载的说明中有提到要“1. 在使用之前,您需要先申请密钥,且密钥和应用证书和包名绑定。申请密钥以及配置方式详见开发指南_申请密钥章节。”
所以我们在使用sdk之前要先注册和获取密钥,可参考注册和获取密钥
3.1.1注册
连接http://lbs.baidu.com/apiconsole/key
按要求填写信息
注册完成后登录
3.1.2获取AK
具体步骤如下,亦可参考注册和获取密钥 中获取AK的流程部分,讲的很详细
a、获取发布版SHA1
配置环境变量
电脑右击-》属性-》高级系统设置
选择环境变量-》选择系统变量钟path,点击编辑-》添加../jre/bin路径到path
-》》》》》
-》》》》》
获取发布版本SHA1
打开命令窗口,进入.android目录下输入命令keytool -list -v -keystore debug.keystore
如果出现"keytool 错误: java.lang.Exception: 密钥库文件不存在: ~/.android/debug.keystore"的错误参考http://www.imooc.com/wenda/detail/247534
b、创建应用
点击我的应用-》创建应用
按下图填写内容
点击提交,就生成了AK
四、android studio配置sdk
参考文档Android studio配置
4.1创建android工程
创建新的android工程并,或者打开已经存在的android工程
4.2添加sdk
将第一步下载的sdk解压,拷贝jar和so文件到lib目录下如下图
4.3 配置build.gradle
在app目录下的build.gradle文件中android块中配置sourceSets标签,如果没有使用该标签则新增,详细配置代码如下:
sourceSets {
main {
jniLibs.srcDir 'libs'
}
}
4.4往工程中添加jar文件
往工程中添加jar文件
在libs目录下,选中每一个jar文件右键,选择Add As Library…,如图:
添加完成后可以在build.gradle文件dependencies标签中发现多了我们jar文件的依赖,如下图
4.5拷贝资源文件
第一步下载的sdk,在解压后的开发包中会包含一个assets目录,将该目录下的png文件拷贝至您的项目的assets目录下
如下
4.6 应用混淆
打开app目录下的build.gradle文件,在release代码块中添加如下内容(若已经由Android Studio自动生成,则不用手动配置)
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
编写混淆文件,打开app目录下的proguard-rules.pro文件,添加如下代码。
-keep class com.baidu.** {*;}
-keep class vi.com.** {*;}
-keep class com.baidu.vi.** {*;}
-dontwarn com.baidu.**
至此整个开发前的配置就完成了
我在运行安装项目时遇到了签名问题
com.android.ide.common.signing.KeytoolException:Failed to read key xxx from store
解决办法:
在android studio->file->Project structure
按照获取发布版本SHA1中的内容填写下面的内容,然后点击apply,重新运行,问题解决