andriod 调用高德地图

时间:2021-04-29 09:14:22

Android Studio 配置工程             最后更新时间: 2017年08月29日

来自:http://lbs.amap.com/api/android-sdk/guide/create-project/android-studio-create-project#creat-project

新建一个Android工程

新建一个 Empty Activity 应用项目,您可参考 入门指南<创建工程>章节创建一个 Android 工程。

通过拷贝添加SDK

1、添加 jar 文件:

将下载的地图 SDK 的 jar包复制到工程(此处截图以官方示例Demo为例子)的 libs 目录下,如果有老版本 jar 包在其中,请删除。如图所示:

andriod 调用高德地图

2、添加 so 库:

说明:3D地图才需要添加so库,2D地图无需这一步骤。

保持project查看方式,以下介绍两种导入so文件的方法。

方法一:

使用默认配置,不需要修改build.gradle。在 main 目录下创建文件夹 jniLibs (如果有就不需要创建了),将下载文件的 armeabi 文件夹复制到这个目录下,如果已经有这个目录,将下载的 so 库复制到这个目录即可。如图所示:

andriod 调用高德地图

方法二:

使用自定义配置,将下载文件的 armeabi 文件夹复制到 libs 目录,如果有这个目录,请将下载的 so 库复制到这个目录,然后打开build.gradle,找到 sourceSets 标签,在里面增加一项配置,如图所示:

andriod 调用高德地图

通过Gradle集成SDK

1、在Project的build.gradle文件中配置repositories,添加maven或jcenter仓库地址

Android Studio默认会在Project的build.gradle为所有module自动添加jcenter的仓库地址,如果已存在,则不需要重复添加。Project的build.gradle文件在Project目录中位置如图所示:

andriod 调用高德地图

配置如下:

allprojects {
repositories {
jcenter() // 或者 mavenCentral()
}
}

2、在主工程的build.gradle文件配置dependencies

根据项目需求添加SDK依赖。引入各个SDK功能最新版本, dependencies 配置方式如下:

SDK

引入代码

3D地图

compile 'com.amap.api:3dmap:latest.integration'

2D地图

compile 'com.amap.api:map2d:latest.integration'

导航

compile 'com.amap.api:navi-3dmap:latest.integration'

搜索

compile 'com.amap.api:search:latest.integration'

定位

compile 'com.amap.api:location:latest.integration'

主工程的build.gradle文件在Project目录中位置:

andriod 调用高德地图

以3D的demo工程为例添加3d地图SDK、定位SDK、搜索功能,配置如下:

android {
defaultConfig {
ndk {
//设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","arm64-v8a","x86_64"
}
}
} dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
//3D地图so及jar
compile 'com.amap.api:3dmap:latest.integration'
//定位功能
compile 'com.amap.api:location:latest.integration'
//搜索功能
compile 'com.amap.api:search:latest.integration'
}

以上为引入最新版本的SDK,推荐这种方式。如需引入指定版本SDK(所有SDK版本号均与官网发版一致)如下:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.amap.api:3dmap:5.0.0'
compile 'com.amap.api:location:3.3.0'
compile 'com.amap.api:search:5.0.0'
}

注意:

1、3D地图 SDK 和导航 SDK,5.0.0 版本以后全面支持多平台 so 库(armeabi、armeabi-v7a、arm64-v8a、x86、x86_64),开发者可以根据需要选择。同时还需要注意的是:如果您涉及到新旧版本更替请移除旧版本的 so 库之后替换新版本 so 库到工程中。

2、navi导航SDK 5.0.0以后版本包含了3D地图SDK,所以请不要同时引入 map3d 和 navi SDK。

3、如果build失败提示com.amap.api:XXX:X.X.X 找不到,请确认拼写及版本号是否正确,如果访问不到jcenter可以切换为maven仓库尝试一下。

4、依照上述方法引入 SDK 以后,不需要在libs文件夹下导入对应SDK的 so 和 jar 包,会有冲突。