初学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文件内容。
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
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') }