ArcGIS4Android 2:多个安卓module共享jar和so文件
初学java和安卓,简单的学习历程记录,勿喷。
android studio一个project下有多个module共享jar和so文件的解决方案,解决重复问题。
1.多处重复引用libs和so文件问题
android studio一个project下有多个module的情况,以前引用共同的jar包和so文件,是每个module下复制一份。
结果这样重复文件太多了,而且体积很大。
方框1和2中的东西是重复的。
2.新建公用目录
Project下新建libs和jniLibs目录(也可以自定义名字),用来放置公用部分。
并将jar包和so包分别放进这两个目录(一个目录也可以,两个更容易区分不同类型用途)。
如图所示:
3.修改引用
在各个module的build.gradle中修改引用地址。
sourceSets:指定so文件位置
depencies:指定依赖jar位置
helloworld的build.gradle文件内容。
apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion '23.0.1' defaultConfig { minSdkVersion 19 targetSdkVersion 23 versionCode 1 versionName "1.0" } packagingOptions{ exclude 'META-INF/LGPL2.1' exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } //指定位置 sourceSets{ main{ jniLibs.srcDirs=['../jniLibs']; } } } //指定依赖的jar包位置 dependencies { // module dependency // compile 'com.esri.arcgis.android:arcgis-android:10.2.5' // local binary dependency compile files('../libs/jcifs-1.3.17.jar') compile files('../libs/arcgis-android-api.jar') compile files('../libs/arcgis-android-app-toolkit.jar') compile files('../libs/jackson-core-1.9.5.jar') compile files('../libs/jackson-mapper-1.9.5.jar') }
版权声明:本博原创文章可以被转载,但是在未经本人许可前,不得用于任何商业用途或其他以盈利为目的的用途。如需转载,请在转载时声明作者、保留出处。本人保留对本文的一切权利。
作者:AllenRobin Blog:http://gisrsman.cnblogs.com