ArcGIS Runtime SDK for Android 的环境配置
由于连不上esri官方的网址,所以没法在线配置环境,只能手动配置,不过网络上的配置方法大多是以前的,不适用于新的版本,因为新的SDK本地配置使用的是aar而不是单纯的jar包,如果单单引入jar包因为缺少资源文件引发can‘t found class 异常,经过摸索成功配置了100.3.0以后的环境。
文章地址:https://blog.csdn.net/Sky_Tree_Delivery/article/details/89887246
- 下载ArcGIS Runtime SDK for Android, 前往arcgis for developer官网下载
该资源需要登录后才能下载,但arcgis for developer由于网络原因不支持新用户注册,不过由于esri账号通用,可以前往官网注册。
选择需要的SDK版本,这里使用100.4.0,还可以下载guide文档。
- 配置本地环境
解压资源包后观察文件目录,我们需要的资源文件都在libs文件夹下
进入libs目录,文件与文件夹分为三类,aar文件夹,系统依赖包文件夹和jar包。这里不是每个文件和文件夹都用得到,只需要aar文件夹下的文件和gson-2.8.5.jar文件。
aar文件夹中的文件都需要引入自己的项目中。aar文件夹包含两个文件,一个是aar项目文件,一个是pom配置文件。其中aar项目文件相当于另一个完整的android项目,可以以依赖包的形式被引入其他项目中,作用与jar包类似,但在jar包的基础上还包含了项目的其他必要文件,比如Android项目所需的各种资源文件(drawable和layout等)。
将aar文件的后缀更改为.zip后解压该文件,就可以查看aar项目文件的内部目录结构。目录结构如截图所示,其中jni文件夹存放系统依赖包,包含x86和armeabi-v7a两个系统依赖包,由此可知这两个系统依赖包会随着aar项目文件的引入一同被引入项目,不需要单独引入;R.txt为资源配置文件。需要强调的是,如果在项目中仅仅引入jar包,编写代码时可以正常调用arcgis的类,编译打包时也不会报错,但运行时会因为缺失资源文件(R.txt)而引发运行时异常,can’t found class,所以必须以引入aar项目文件的方式引入SDK。
pom文件是依赖配置文件,以文本文件的方式打开pom文件,可以发现pom文件将gson-2.8.5.jar包作为aar项目文件的依赖项,所以需要单独引入gson.jar包。
除了gson.jar包,还有一个arcgis-andriod-api.jar包,但aar项目文件已经包含了此jar包,所以只需引入aar项目文件即可。
将下面三个文件加入到libs目录下,其中gson-2.8.5.jar包需要进行build as library操作。
在项目中引入aar项目文件和jar包的方法如下:
首先指定aar项目文件的搜索地址。
repositories {
flatDir {
dirs 'libs'
}
}
然后在项目的build.gradle的dependencied块下输入如下语句。
implementation(name: 'arcgis-android-100.4.0', ext: 'aar')
implementation files('libs/gson-2.8.5.jar')
最后一步,检查aar文件引入是否成功
检查jar包引入是否成功
没问题的话,就大功告成。