1、建议先阅读百度地图官方的继承指南,针对了Eclipse和Android Studio。
2、下载百度地图SDK
下载有两种:
1、一键下载(下载所有百度地图SDK功能)
2、自定义下载(结合自身需求、自定义选择业务功能,打包下载所选功能开发包)
下载完成之后会得到这样的文件
- BaiduLAB_Android.jar 文件就是包含了你需要的所有功能的jar包
-
arm64-v8a 等文件夹里就是针对不同手机CPU架构的so文件,里面的文件后面会用到
3、集成到AS
-
设置AS工程目录
- 1、在app文件夹下的新建libs文件夹(默认应该有),将BaiduLAB_Android.jar文件拷入
-
2、在src文件夹下的的main文件夹下新建jniLibs文件夹,将以下这些文件夹拷入
经过上面步骤,应该就能看到上图的Project视图结构
设置gradle
在File菜单里选择Project Structure选项(项目结构),进入项目结构设置
将BaiduLAB_Android.jar作为File dependency导入
- 经过这样操作之后,你的app目录下的build.gradle文件里的dependence就会增加这个依赖
- 在你的app目录下的build.gradle文件里新增ndk字段
ndk { //选择要添加的对应cpu类型的.so库。 abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a', 'x86', 'x86_64', 'mips', 'mips64'}
5、配置manifest文件
权限配置
<!--****************一般权限,6.0以上系统不需要额外申请******************--> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位--> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 访问网络,网络定位需要上网--> <uses-permission android:name="android.permission.INTERNET" /> <!--********************特殊权限,6.0以上系统需要动态申请*******************--> <!-- 这个权限用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 这个权限用于访问GPS定位--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于读取手机当前的状态--> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- SD卡读取权限,用户写入离线定位数据--> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <!--地图所需权限--> <uses-permission android:name="android.permission.WAKE_LOCK" />
参考官方配置
6、修改混淆文件(如果你打开了代码混淆)
这样就成功将百度地图SDK集成到项目中了
7、要想使用百度地图的服务还需要最后一步,申请百度地图AppKey
- 申请步骤请参考官方指南(需要登录百度账号)
- 申请过程需要SHA1码和md5码。这里给出网友的教程
[android studio 中获得发布版 SHA1 和开发版 SHA1](http://blog.csdn.net/duqiuke/article/details/51816430)