Android Studio开发时多工程引用相同Library项目的配置方法

来源:互联网 发布:光明数据 陈建栋 编辑:程序博客网 时间:2024/06/05 22:50

参考文章:Android Studio多工程引用同一个library项目配置方法 。

在使用Android Studio开发的时候,如遇到多个项目引用同一个library(源码)的情况时,会遇到在每个项目中都要有一套library的代码的情况,对于还在开发和维护中的Library需要频繁的修改,这对同步就很麻烦,为了解决这个问题,出现了下面的解决方案。

首先:新建一个类库工程,工程名为AppLibs.Dev。

在该类库中包含一个公共的类库appLibs的Module,Module下面的build.gradle配置如下:

/** 声明是Android类库 */apply plugin: 'com.android.library'android {    /** 为了能够支持该库中的包 */    useLibrary 'org.apache.http.legacy'    /** 编译SDK的版本 */    compileSdkVersion 25    /** build tools的版本 */    buildToolsVersion "25.0.2"    defaultConfig {        minSdkVersion 9        targetSdkVersion 25        versionCode 100        versionName "1.0.0"        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"    }    buildTypes {        debug {            // debug模式        }        release {            // 是否进行混淆            minifyEnabled false            // 混淆文件的位置            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }    /** 移除lint检查的error */    lintOptions {        abortOnError false    }}dependencies {    /** compile fileTree将libs文件夹中所有的jar文件全部编译。该方式和compile files方式选一种即可。 */    // compile fileTree(include: ['*.jar'], dir: 'libs')    /** compile files将libs文件夹中单一的jar文件编译 */    compile files('libs/jsch-0.1.53.jar')    compile files('libs/commons-net-3.3.jar')    compile files('libs/okhttp-3.2.0.jar')    compile files('libs/okio-1.6.0.jar')    /** 测试编译 */    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {        exclude group: 'com.android.support', module: 'support-annotations'    })    /** 编译指定包名下面模块 */    compile 'com.android.support:appcompat-v7:25.2.0'    compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7'    /** 单元测试编译 */    testCompile 'junit:junit:4.12'}

这样一个类库工程就建好了,接下来就是引用包含该类库的工程。


其次:引用该类库工程。通过Android Studio新建一个TestProject的工程,如下图。



在该工程中需要做以下三件事:

1、在project的settings.gradle里面增加红框圈住部分的代码。



2、在module的build.gradle文件中增加红框圈住部分的代码:



如果该类库工程中包含多个module,那么在settings.gradle文件中原有代码后面增加下面的代码即可:

include ':AppLibs.Dev:moduleName'


同时在APP module中build.gradle增加相应的模块代码即可:

compile project(':AppLibs.Dev:moduleName')



3、点击Android Studio的菜单中的Build->Clean Project,完成Clean以后就看到如下图。

完成如上图所示以后,表示类库工程已经被APP工程引用进去了,这样以后再修改类库工程中的源码,其他引用该类库的工程中源码也就同步修改了。


0 0