有两个库项目,一个kjframe,一个mylibs分别位于:
C:\work\StudioProjects\libs\MyLibs\kjframe和C:\work\StudioProjects\libs\MyLibs\myLibs,主项目位于:C:\work\StudioProjects\BmsScanApp-V2。
打开BmsScanApp-V2 Project的settings.gradle,改为:
include ':../libs:MyLibs:kJFrame',':../libs:MyLibs:myLibs', ':bmsScanAppV2'然后同步项目
你会发现在BmsScanApp-V2 项目下多了kJFrame和myLibs两个module,与BmsScanApp-V2 project同级多了一个MyLibs,MyLibs下面有两个Module:kJFrame和myLibs两个模块,真正引用过来的库模块其实就放在MyLibs项目下面。
如图:
为BmsScanApp-V2 module增加模块依赖, File->Project Structure:
确定后,再打开BmsScanApp-V2 module里面的gradle,你会发现dependencies里面变成这样:
dependencies {
compile 'com.android.support:support-v4:19.0.0'compile files('libs/core.jar')
compile project(':../libs:MyLibs:myLibs')
compile project(':../libs:MyLibs:kJFrame')
}
再编译BmsScanApp-V2 ,出现
Error:duplicate files during packaging of APK C:\work\StudioProjects\BmsScanApp-V2\bmsScanAppV2\build\outputs\apk\bmsScanAppV2-debug-unaligned.apk
Path in archive: META-INF/DEPENDENCIES ,,一堆重复的文件的错误,这时候需要将
packagingOptions {
exclude 'META-INF/DEPENDENCIES'exclude 'META-INF/NOTICE'exclude 'META-INF/LICENSE'}
加入到这个build.gradle里面,再编译,成功通过。