在Android Studio 0.5.2中使用ArcGIS Android SDK

環境

操做系統:Mac OSX 10.8.5
Android Studio: 0.5.2
ArcGIS Android SDK: 10.2.3android

操做步驟

  1. 在Android Studio中新建一個Module,例如:HelloArcGIS
  2. 打開ArcGIS Android SDK所在文件夾,將libs目錄下的全部文件拷貝到HelloArcGIS下的libs文件夾
  3. 修改HelloArcGIS的build.gradle文件:
    1. 添加:
      task nativeLibsToJar(type: Zip, description: 'create a jar archive of the native libs') {
        destinationDir file("$buildDir/native-libs")
        baseName 'native-libs'
        extension 'jar'
        from fileTree(dir: 'libs', include: '**/*.so')
        into 'lib/'
      }
      
      tasks.withType(Compile) {
        compileTask -> compileTask.dependsOn(nativeLibsToJar)
      }
    2. 在dependences中添加:
      compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')
    3. 在android中添加:
      packagingOptions {
        exclude 'META-INF/LGPL2.1'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
      }

最終的build.gradle應該相似於這樣

apply plugin: 'android'

android {
compileSdkVersion 18
buildToolsVersion "19.0.3"

defaultConfig {
minSdkVersion 8
targetSdkVersion 16
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
packagingOptions {
exclude 'META-INF/LGPL2.1'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
}


dependencies {
compile 'com.android.support:appcompat-v7:+'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')
}

task nativeLibsToJar(type: Zip, description: 'create a jar archive of the native libs') {
destinationDir file("$buildDir/native-libs")
baseName 'native-libs'
extension 'jar'
from fileTree(dir: 'libs', include: '**/*.so')
into 'lib/'
}

tasks.withType(Compile) {
compileTask -> compileTask.dependsOn(nativeLibsToJar)
}

參考資料

1. 解決.so引入的問題,思路是將.so文件打包爲jar文件,程序安裝後會解壓jar,從而使.so文件能被訪問android-studio

http://stackoverflow.com/questions/16683775/include-so-library-in-apk-in-android-studioapp

2. 解決local path doesn't exist錯誤
http://stackoverflow.com/questions/18256177/android-studio-local-path-doesnt-existgradle

相關文章
相關標籤/搜索