Android Studio 配置工程 最后更新时间: 2021年01月22日
新建一个Android工程
新建一个 Empty Activity 的应用工程,您可参考 入门指南<创建工程>章节创建一个 Android 工程。
方法1:通过拷贝集成SDK
1、拷贝 jar 文件至 libs 文件夹下
将下载的定位 SDK jar 文件复制到工程(此处截图以官方示例Demo为例子)的 libs 目录下,如果有老版本定位 jar 文件存在,请删除。定位 SDK 无需 so 库文件支持。如图所示:
2、配置 build.gradle 文件
在 build.gradle 文件的 dependencies 中配置 compile fileTree(include: ['*.jar'], dir: 'libs')。
方法2:通过Gradle集成SDK
1、在Project的build.gradle文件中配置repositories,添加maven或jcenter仓库地址
Android Studio默认会在Project的build.gradle为所有module自动添加jcenter的仓库地址,如果已存在,则不需要重复添加。Project的build.gradle文件在Project目录中位置如图所示:
配置如下:
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目录中位置:
以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包,会有冲突。