更新时间:2020-09-20
Android Studio工程配置
推荐使用Android Studio作为Android开发工具。
创建AndroidStudio项目
在Android Studio中创建一个Android项目。
在项目中集成BaiduMap SDK
我们提供两种SDK集成方式,分别为:(1)下载SDK本地依赖,(2)通过Gradle集成SDK,具体说明如下:
方法一:下载SDK本地依赖
1 下载开发包
普通的地图服务和包含步骑行导航的地图服务需要下载不同的开发包,点击下载开发包。只有勾选了选项才能使用对应的功能。其中,基础地图(含室内图)和步骑行导航(含基础地图)二选一即可。


若您不需要使用步骑行导航,则选择基础地图(含室内图)

若您需要使用步骑行导航,则选择骑行导航(含基础地图)

其他的功能(如定位服务、检索功能、全景图功能等)则根据您的开发需要勾选下载即可。
2将开发包拷贝至工程(截图以普通地图服务的开发包为例,步骑行导航的开发包同理)
1、添加jar文件
打开解压后的开发包文件夹,找到BaiduLBS_Android.jar文件将其拷贝至工程的app/libs目录下,如图:

2、添加so文件
有两种方法可以往项目中添加so文件。
方法一:
在下载的开发包中拷贝需要的CPU架构对应的so文件文件夹到app/libs目录下,如图:
在app目录下的build.gradle文件中android块中配置sourceSets标签,如果没有使用该标签则新增,详细配置代码如下:
方法二:
在src/main/目录下新建jniLibs目录(如果您的项目中已经包含该目录不用重复创建),在下载的开发包中拷贝项目中需要的CPU架构对应的so文件文件夹到jniLibs目录,如图:

打开解压后的开发包文件夹,找到BaiduLBS_Android.jar文件将其拷贝至工程的app/libs目录下,如图:

2、添加so文件
有两种方法可以往项目中添加so文件。
方法一:
在下载的开发包中拷贝需要的CPU架构对应的so文件文件夹到app/libs目录下,如图:

在app目录下的build.gradle文件中android块中配置sourceSets标签,如果没有使用该标签则新增,详细配置代码如下:
sourceSets { main { jniLibs.srcDir 'libs' } }注意:Jar文件和so文件的版本号必须一致,并且保证Jar文件与so文件是同一版本包取出的。
方法二:
在src/main/目录下新建jniLibs目录(如果您的项目中已经包含该目录不用重复创建),在下载的开发包中拷贝项目中需要的CPU架构对应的so文件文件夹到jniLibs目录,如图:

3往工程中添加jar文件
在工程配置中需要将前面添加的jar文件集成到我们的工程中。有以下两种方法可以实现:
方法一:
在libs目录下,选中每一个jar文件(此处只有一个BaiduLbs_Android.jar)右键,选择Add As Library…,如图:

此时会发现在app目录的build.gradle的dependencies块中生成了工程所依赖的jar文件的对应说明,如下所示:

注意:最新版本的Android Studio中compile被替换为implementation,具体的写法与您的Android Studio版本有关。
方法二:
1、菜单栏选择File -> Project Structure
2、在弹出的Project Structure对话框中选中左侧的Modules列表下的app目录,然后点击右侧页面中的Dependencies选项卡。如图:

3、点击左下角加号“➕”选择Jar dependency,然后选择要添加的jar文件即可(此处为我们拷贝至libs目录下的BaiduLBS_Android.jar) 结果如图:

完成上述操作之后在app目录的build.gradle的dependencies块中生成了工程所依赖的jar文件的对应说明,见方法一引用代码截图。
方法一:
在libs目录下,选中每一个jar文件(此处只有一个BaiduLbs_Android.jar)右键,选择Add As Library…,如图:

此时会发现在app目录的build.gradle的dependencies块中生成了工程所依赖的jar文件的对应说明,如下所示:

注意:最新版本的Android Studio中compile被替换为implementation,具体的写法与您的Android Studio版本有关。
方法二:
1、菜单栏选择File -> Project Structure
2、在弹出的Project Structure对话框中选中左侧的Modules列表下的app目录,然后点击右侧页面中的Dependencies选项卡。如图:

3、点击左下角加号“➕”选择Jar dependency,然后选择要添加的jar文件即可(此处为我们拷贝至libs目录下的BaiduLBS_Android.jar) 结果如图:

完成上述操作之后在app目录的build.gradle的dependencies块中生成了工程所依赖的jar文件的对应说明,见方法一引用代码截图。
4至此,您已完成通过本地依赖集成SDK。
1在Project的build.gradle文件中配置repositories,添加mavenCentral仓库地址
配置如下:
allprojects { repositories { mavenCentral() } }
2在主工程的build.gradle文件配置dependencies
根据项目需求添加SDK依赖, 引入各个SDK, dependencies 配置方式如下:
SDK |
引入依赖 |
地图组件 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map:7.5.4' |
检索组件 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Search:7.5.4' |
工具组件 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Util:7.5.4' |
步骑行组件 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-BWNavi:7.5.4' |
基础定位组件 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.3.7' |
全量定位组件 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Location_All:9.3.7' |
驾车导航组件 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-Navi:7.5.4' |
驾车导航+步骑行导航 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-AllNavi:7.5.4' |
TTS组件 |
implementation 'com.baidu.lbsyun:NaviTts:3.2.8' |
全景组件 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Panorama:2.9.0' |
3主工程的build.gradle文件在Project目录中位置:
根据项目需求添加SDK依赖, 引入各个SDK, dependencies 配置方式如下:
以下是地图,检索,工具组件相关依赖的示例, 配置如下:
android { defaultConfig { ndk { // 设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so) abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64" } } } dependencies { implementation 'com.baidu.lbsyun:BaiduMapSDK_Map:7.4.0' implementation 'com.baidu.lbsyun:BaiduMapSDK_Search:7.4.0' implementation 'com.baidu.lbsyun:BaiduMapSDK_Util:7.4.0' }
注意:在gradle依赖时如果同时使用多个组件时,部分组件会产生冲突,在使用时根据自己的项目需求去组合,以下是会产生冲突的组件。
组件 | 依赖 | 备注 |
基础定位组件 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.1.8' |
选其一 |
全量定位组件 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Location_All:9.1.8' | |
地图组件 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map:7.4.0' |
这些组件中都包含了BaiduMapSDK_Map组件,根据需求选其一 |
步骑行组件 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-BWNavi:7.4.0' | |
驾车导航组件 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-Navi:7.4.0' | |
驾车导航+步骑行导航 |
implementation 'com.baidu.lbsyun:BaiduMapSDK_Map-AllNavi:7.4.0' |
4至此,您已完成通过Gradel集成SDK。
资源说明
V5.1.0版本起,为了优化SDK的jar包体积,将一些Demo中用到的图片资源文件从SDK的jar包中移到了Demo的资源文件路径下,若有依赖,请在Demo中的资源路径获取,源码Demo下载。路径如下:
BaiduMapsApiASDemo/app/src/main/assets/
移除的图片资源包括以下:
Icon_bus_station.png Icon_end.png Icon_line_node.png Icon_mark1.png Icon_mark2.png Icon_mark3.png Icon_mark4.png Icon_mark5.png Icon_mark6.png Icon_mark7.png Icon_mark8.png Icon_mark9.png Icon_mark10.png Icon_road_nofocus.png Icon_road_yellow_arrow.png Icon_start.png Icon_subway_station.png Icon_walk_route.png
注意:若您下载的开发包是步骑行导航的,在解压后的开发包中会包含一个assets目录,您需要将该目录下的png文件拷贝至您的项目的assets目录下。
应用混淆
现在我们的应用中已经集成了百度地图SDK,当我们在打包混淆的时候需要注意于BaiduMap SDK 相关的内容不应该被混淆,所以我们需要配置混淆文件。
1打开app目录下的build.gradle文件,在release代码块中添加如下内容(若已经由Android Studio自动生成,则不用手动配置)
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'如在上面我们创建的MapActivity项目中:

若您的代码包含debug版本并且也需要混淆的话,请在debug代码块中也添加上述代码。
2 编写混淆文件,打开app目录下的proguard-rules.pro文件,添加如下代码。
-keep class com.baidu.** {*;} -keep class vi.com.** {*;} -keep class com.baidu.vi.** {*;} -dontwarn com.baidu.**
注意:保证百度类不能被混淆,否则会出现网络不可用等运行时异常
至此您已完成AndroidStudio开发环境的配置,快去开发您的第一个包含BaiduMapSDK的Android应用吧,点我开始