项目开发中config.gradle的使用

gradle统一入口版本管理的初衷是解决一个项目只要一个地方修改,各个有引用的模块便可以自动生效,从而达到了一个地方修改各个地方生效的好处,同时能保持gradle引用库版本的一致,特别适合在多module项目中统一管理。

1.在根目录新建config.gradle文件, 并在项目的顶级 build.gradle 中引用它

android新建gradle文件的方法:
在project视图下
在这里插入图片描述
在这里插入图片描述
顶级文件用引用config.gradle

在这里插入图片描述
apply from:“config.gradle” 意思是所有的子项目或者所有的modules都可以从这个配置文件中读取内容.所以在整个项目的所有 build.gradle 中都可以使用 rootProject.xxx 来引用 config.gradle 中声明的内容。

2. config.gradle文件内容:

ext {

    android = [
            compileSdkVersion: 28,
            buildToolsVersion: "28.0.3",
            minSdkVersion    : 16,
            targetSdkVersion : 28,
            versionCode      : 1,
            versionName      : "1.0.0"
    ]

    version = [
            androidSupportSdkVersion: "28.0.0",
            retrofitSdkVersion      : "2.4.0",
            dagger2SdkVersion       : "2.19",
            glideSdkVersion         : "4.8.0",
            butterknifeSdkVersion   : "8.8.1",
            rxlifecycleSdkVersion   : "1.0",
            rxlifecycle2SdkVersion  : "2.2.2",
            espressoSdkVersion      : "3.0.1",
            canarySdkVersion        : "1.5.4"
    ]

    dependencies = [
            //support
            "appcompat-v7"             : "com.android.support:appcompat-v7:${version["androidSupportSdkVersion"]}",
            "design"                   : "com.android.support:design:${version["androidSupportSdkVersion"]}",
            "support-v4"               : "com.android.support:support-v4:${version["androidSupportSdkVersion"]}",
            "cardview-v7"              : "com.android.support:cardview-v7:${version["androidSupportSdkVersion"]}",
            "annotations"              : "com.android.support:support-annotations:${version["androidSupportSdkVersion"]}",
            "recyclerview-v7"          : "com.android.support:recyclerview-v7:${version["androidSupportSdkVersion"]}",
]}

对config.gradle内容的使用:
也可以使用 config.gradle 来管理一些项目的基本信息, 这样有多个 module 也可以直接使用同一个值

dependencies {
    testImplementation rootProject.ext.dependencies["junit"]
    implementation rootProject.ext.dependencies["support-v4"]
    implementation rootProject.ext.dependencies["gson"]
    implementation rootProject.ext.dependencies["appcompat-v7"]
    implementation rootProject.ext.dependencies["cardview-v7"]
    implementation rootProject.ext.dependencies["autolayout"]
    implementation rootProject.ext.dependencies["butterknife"]
    implementation rootProject.ext.dependencies["androideventbus"]
    }
android {
    compileSdkVersion rootProject.ext.android["compileSdkVersion"]
    buildToolsVersion rootProject.ext.android["buildToolsVersion"]
    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        minSdkVersion rootProject.ext.android["minSdkVersion"]
        targetSdkVersion rootProject.ext.android["targetSdkVersion"]
        versionCode rootProject.ext.android["versionCode"]
        versionName rootProject.ext.android["versionName"]
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zz白龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值