安卓工程统一管理gradle变量

我们复制一个gradle文件 然后重新命名一个与项目相关的名字


image.png

打开imooc.gradle文件,重新定义一下里面的内容

ext {
    android = [
            applicationId:'com.tencent.musicproject',
            compileSdkVersion: 28,
            minSdkVersion    : 19,
            targetSdkVersion : 28,
            versionCode      : 1,
            versionName      : '1.0'

    ]

    //三方版本号
    depsVersion = [
            appcompat: '1.4.0'
    ]
    //三方地址
    depsLibs = [

           appcompat:"androidx.appcompat:appcompat:${depsVersion.appcompat}"

    ]

}

我们把项目中的所有版本号信息 依赖项 都编辑到里面 创建数组名称自定义 来管理对应的版本号和依赖
这里面depsLibs 里面要用双引号,因为中间使用了$符号,单引号失去效果

编辑好imooc.gradle文件后 需要在工程的总build.gradle文件中引入该文件

apply from : file('imooc.gradle')
//apply from: this.rootProject.file('imooc.gradle')

引入完毕重新构建一下项目 就可以在项目中进行替换了

apply plugin: 'com.android.application'

android {
    compileSdkVersion this.rootProject.android.compileSdkVersion
    buildToolsVersion "30.0.0"

    defaultConfig {
        applicationId this.rootProject.android.applicationId
        minSdkVersion this.rootProject.android.minSdkVersion
        targetSdkVersion this.rootProject.android.targetSdkVersion
        versionCode this.rootProject.android.versionCode
        versionName this.rootProject.android.versionName

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    configurations.all {
        resolutionStrategy {
            force 'androidx.core:core-ktx:1.6.0'
        }
    }
}

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation this.rootProject.depsLibs.appcompat
    implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

}

你可能感兴趣的:(安卓工程统一管理gradle变量)