Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

前言

    最近因为工作关系,需要使用ArcGIS Runtime SDK for Android搭建一个简单的入门Demo,也就是传说中的Hello GISer。翻了一遍官方文档,ArcGIS Runtime SDK for Android的安装推荐使用Gradle,而且使用的是在线的Esri's maven repository ,也就是说第一次构建工程的时候,需要从 Bintray Esri repository(https://esri.bintray.com/arcgis)中下载相应的依赖包,才能通过编译,如下图所示:

              Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

    按照【Install the SDK】和【Develop your first map app】的指引,在Android Studio2.0中创建好工程,配置好build.gradle之后,点击【Sync Now】进行编译,如下图:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

 

Install the SDK 地址:

https://developers.arcgis.com/android/latest/guide/install-and-set-up.htm

Develop your first map app地址:

https://developers.arcgis.com/android/latest/guide/develop-your-first-map-app.htm

    由于使用在线下载依赖包的方式,编译的时候在Android Studio的底部状态栏处会提示正在下载arcgis-android-100.1.0.aar文件,如下图:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

    arcgis-android-100.1.0.aar这个文件其实才34M,但是下载的速度非常的慢,几K的下载速度,这是不能容忍的。所以就想着能不能下载好SDK之后再使用本地依赖库的方式构建工程。

    又回去翻看了一回【Install the SDK】,寥寥几行,只提了个需要下载SDK,至于怎么样配置,没有任何说明:

    Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

    对于我这种需要的时候,才使用Android SDK的蓝鸟来说,这可就有点小小挑战了。但既然提供了SDK,那么也就意味着可以离线使用,所以首要的是先下载好SDK并解压。一份好的SDK,往往会有一个非常重要的文件,它叫README.txt,这里我们了解一份SDK的入门,所以我们打开它看看到底都写了些什么如下图:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

 内容也是简单的不能再简单了,但是也都点出了重要的步骤:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)总的来说就是需要做这么几件事:

  1. 安装好Java JDK

  2. 安装好Maven

  3. 安装好Android Studio

  4. arcgis-android-100.1.0.aar和arcgis-android-100.1.0.pom拷贝到Maven的repository中

  5. 修改build.gradle

虽然上述的说明主要讲了个大概,但是有了大体的思考之后,后面操作起来就方便多了。啰嗦了那么多,其实重点是想说明一点:使用ArcGIS Runtime SDK for Android开发地图App,使用离线SDK比较靠谱。

环境

JDK:1.8.0_131

Maven:3.5.0

Android Studio:2.0

ArcGIS Runtime SDK for Android:100.1.0

部署过程

1.JDK安装。过程略,主要是配置好环境变量:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

顺便在Path环境变量中加入%JAVA_HOME%\bin,这样在CMD命令窗口下就可以执行Java命令进行验证:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

2.安装Maven。过程略,主要还是配置好环境变量:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

顺便也在Path环境变量中加入%MAVEN_HOME%\bin,这样在CMD命令窗口下就可以执行mvn命令检查是否已经安装好:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

3.Android Studio。这个也是默认下一步就OK,过程也省略。

4.arcgis-android-100.1.0.aar和arcgis-android-100.1.0.pom文件拷贝到以下这个目录:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

上图中的红色部分是需要手动创建,一个目录接着一个目录往下建,至于为什么要这样创建,是因为我们的工程使用的依赖包的所决定了,如下图:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

上面这个红色下划线部分就是依赖包的路径。但是这里其实还有一个问题,就是下载的SDK里只有arcgis-android-100.1.0.aar文件,没有arcgis-android-100.1.0.pom文件,怎么办?很简单,下载一个?那从哪里下载?考验自我思考的时候到了,还记得在前言中所说的配置 build.gradle文件吗?里面有一个地方是配置依赖包的下载地址:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

从这里就可以下载:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

你会发现这个地址很熟,跟编译的时候的路径一个样:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

没错,Gradle在下载依赖包的时候就根据这个地址去下载的。所以找到它就成功了一大半。

5. 最后再修改build.gradle (Project: <project name>).build.gradle (Module: <module name>)这两个文件就可以了:

 

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

6.最后把该拷贝的代码拷贝上,运行下APP就OK了:

Android Studio中ArcGIS Runtime Android SDK 100.1.0(100.2.0,100.3.0)开发原生地图应用(入门环境配置)

 

小结

总的来说,使用ArcGIS Runtime SDK for Android来开发移动端的地图应用,第一步的开发环境配置对于小白用户来说还是有点挑战,当然如果你人再国外,使用在线依赖包会简单很多,但由于网络的原因,我们必须使用离线依赖包,所以才有了这篇文章。记录下来,以免过了一段时间之后又不记得了。

彩蛋

写下这篇文章的时候,ArcGIS Runtime SDK for Android的版本是100.1.0,而到今天(20180930)最新的版本是100.3.0,目前的版本中支持移动端三维能力,性能和功能上也越来越完善。对于ArcGIS Runtime SDK for Android 100.3.0版本的离线开发环境配置,它的思路其实是一样的,只是中间有一个关节不需要再去操作,那就是arcgis-android-100.3.0.pom这个文件在SDK中已经提供了,不用再费劲去下载。

OK,如果你是一个小白GIS从业人,想更省时省力的制作精美地图,那么强烈推荐打开下面这个链接:

https://blog.csdn.net/liyuanxiang1984