android studio如何多moudle依赖同一个gradle配置

第一步:项目根目录下创建一个config文件夹然后其中创建一个XXXX.gradle文件,例如config.gradle

截图实例

第二步:在config.gradle文件中配置您需要公共依赖的配置:

def supportLibraryVersion = "25.2.0"    // 设置版本号
def rxjavaVersion = "2.2.9"
def rxAndroidVersion = "2.0.1"

ext {
    android = [
            compileSdkVersion: 29,     // 定制android 标签下的属性
            applicationId: "com.tech.luokuang",
            minSdkVersion: 16,
            targetSdkVersion: 29,
            versionCode: 10000,
            versionName: "1.0.0"
    ]

    dependencies = [                   // 依赖库的配置
                    "appcompat-v7"                : "com.android.support:appcompat-v7:${supportLibraryVersion}",
                    "support-v4"                  : "com.android.support:support-v4:${supportLibraryVersion}",
                    "support-v13"                  : "com.android.support:support-v13:${supportLibraryVersion}",
                    "recyclerview-v7"             : "com.android.support:recyclerview-v7:${supportLibraryVersion}",
                    "design"                      : "com.android.support:design:${supportLibraryVersion}",
                    "cardview-v7"                 : "com.android.support:cardview-v7:${supportLibraryVersion}",
                    "support-vector-drawable"     : "com.android.support:support-vector-drawable:${supportLibraryVersion}",
                    "gson"                        : "com.google.code.gson:gson:2.8.0",

                    "rxjava"                      : "io.reactivex.rxjava2:rxjava:${rxjavaVersion}",
                    "rxandroid"                   : "io.reactivex.rxjava2:rxandroid:${rxAndroidVersion}"
    ]
}

这时公共的配置已经完成了,接下来就可以在不同的moudle中的build.gradle中开始配置引用了

例如在app  moudle中的build.gradle文件中开始配置引用,如下:

apply plugin: 'com.android.application'

def cfg = rootProject.ext.android // 引入工程配置
def libs = rootProject.ext.dependencies // 引入库依赖   

android {
    compileSdkVersion cfg.compileSdkVersion
    defaultConfig {
        applicationId cfg.applicationId     // 此处引用
        minSdkVersion cfg.minSdkVersion     // 此处引用
        targetSdkVersion cfg.targetSdkVersion  // 此处引用
        versionCode cfg.versionCode        // 此处引用
        versionName cfg.versionName        // 此处引用
    }
    

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

}


dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.android.material:material:1.1.0'
    implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"

    // RxJava
    implementation libs["rxandroid"]    // 引入依赖库rxandroid
    implementation libs["rxjava"]      // 引入依赖库rxjava




}

到此u,完美结束!  谢谢观赏!

猜你喜欢

转载自blog.csdn.net/weixin_39147807/article/details/111588659