初學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') }