项目场景:
开发地图APP需要采集数据保存到shp文件,需要加入以下依赖implementation 'com.esri.arcgisruntime:arcgis-android:100.11.0'
问题描述:
导入依赖报错误:无法解决依赖,后面就是你具体导入的某个依赖。
原因分析:
具体原因应该是无法访问外网还是什么原因,导入了一大堆maven,其他博主也有一些方法,也因该会有用的看到下面品论有不少人都解决了,但是当时我的就是不行,就离谱!
解决方案:
既然这个ArcGIS是开源的,那就应该就官方文档啊,就去看看官方文档具体配置是如何写的附上地址:
https://developers.arcgis.com/android/
使用 Gradle 获取 API
在现有的 Android Studio 项目中执行以下设置步骤,或创建一个新项目。
1.在项目级build.gradle文件的repositories块内,将 Esri 的 Maven 存储库 URL 添加到您的项目。Esri 的存储库不是开源的,因此在脚本的默认存储库中不可用,因此您必须指定此 URL。
allprojects {
repositories {
google()
jcenter()
// Add the Esri public Maven repository
maven {
url 'https://esri.jfrog.io/artifactory/arcgis'
}
}
}
2.在模块级build.gradle文件的dependencies块内,将 ArcGIS Runtime SDK for Android 依赖项添加到您的应用程序。
! NOTE
You must add this dependency to each module in which you wish to use ArcGIS Runtime API for Android.
dependencies {
implementation 'com.esri.arcgisruntime:arcgis-android:100.11.0'
...
}
3.Android Studio 支持 Java 8 语言功能的子集。这些功能在 ArcGIS Runtime API for Android 文档和示例中使用。为确保代码示例在您的应用程序中使用时编译,请将您的应用程序模块的兼容性设置为使用 Java 8。在应用程序模块build.gradle文件的android块内,添加一个compileOptions指令以设置 Java 兼容性版本:
android {
...
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}
这以上就是所有官方文档的内容,经过一顿猛操作,可以导入了。但是还是有错误的,还是网络问题这次的问题更加的直接,错误提示就是:
//原因:连接超时
Cause: connect timed out
目前好歹是吧这依赖初步的可以导进去了,网络问题就好解决多了,博主是在公司开发所以网络是没有任何问题的,也就是说访问的网址应该是有一定的限制,不过没关系在项目中的在项目级build.gradle文件的repositories块内继续添加阿里的Maven就好了
allprojects {
repositories {
...
maven { url 'https://dl.google.com/dl/android/maven2/' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
}
}
以上的所有就是博主遇到的一些问题,小白博主,如有发现什么不妥之处还请各位大佬及时点评博主及时改正。