注意:華爲手機需要添加如下配置(build.gradle(Module.app)),否則閃退因爲華爲不兼容arcgis,主要原因是so文件不兼容,對so文件有興趣可以看看這篇文章
https://www.jianshu.com/p/cb05698a1968
在線配置:
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
applicationId "com.chy.esrimap"
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk{abiFilters"armeabi","armeabi-v7a"}
}
*建議使用Gradle進行安裝配置(在線配置)*
1.在Project的build.gradle文件中進行以下配置:
allprojects {
repositories {
google()
jcenter()
// Add the following ArcGIS repository
maven {
url 'https://esri.bintray.com/arcgis'
}
}
}
2.在module的build.gradle中添加依賴:
// Add ArcGIS Runtime SDK for Android dependency
implementation 'com.esri.arcgisruntime:arcgis-android:100.3.0'
3.
AndroidManifest.xml文件:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
離線配置:
1.下載ArcGIS Runtime SDK for Android, 前往https://developers.arcgis.com/downloads/apis-and-sdks?product=android下載(需要先註冊,登錄後才能下載)
2.配置本地環境
解壓資源包後觀察文件目錄,我們需要的資源文件在libs文件夾下
進入libs目錄,文件與文件夾分爲三類,aar文件夾,系統依賴包文件夾和jar包。這裏不是每個文件和文件夾都用得到,只需要aar文件夾下的文件和gson-2.8.5.jar文件。
aar文件夾下的文件都要加入到項目中,aar文件相當於另一個完整的android項目,作爲依賴包的形式可引入到其他項目中,作用於jar包類似,但在jar包的基礎上還包含了項目的其他必要文件,比如各種資源文件(drawable和layout等)。
在build.gradle(Module:app)文件中配置
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
applicationId "com.chy.arcgisforpipeline"
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/LGPL2.1'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
repositories {
flatDir{
dirs 'libs'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation(name:'arcgis-android-100.3.0', ext:'aar')
}
因爲加載網絡地圖需要配置網絡權限,因此需要在權限清單中加入網絡權限。
<uses-permission android:name="android.permission.INTERNET"></uses-permission