使用gradle的自定义Property实现Android项目的配置和依赖统一管理

gradle支持自定义property,在GoogleSamples中官方用了Ext(ra) Properties方式来定义了Android的配置文件和统一的依赖管理,这种方式也称动态属性,我们必须使用关键字ext(对应ExtraPropertiesExtension的实例)来定义动态属性

在project根目录的build.gradle文件里使用如下配置:

ext {
    //Android configs
    configs = [
            applicationId    : "com.example.application",
            compileSdkVersion: 25,
            buildToolsVersion: '25.0.2',
            minSdkVersion    : 17,
            targetSdkVersion : 25,
            versionCode      : 17,
            versionName      : '3.1.5'
    ]

    // App dependencies
    supportLibraryVersion = '25.1.0'
    junitVersion = '4.12'
    multidexVersion = '1.0.1'
    gsonVersion = '2.4'
    ......
}

configs里定义了Android项目的配置信息,configs下面定义的则是依赖配置信息

在app(module)目录下的build.gradle文件中使用如下配置:

android {
    compileSdkVersion configs.compileSdkVersion
    buildToolsVersion configs.buildToolsVersion

    defaultConfig {
        applicationId configs.applicationId
        minSdkVersion configs.minSdkVersion
        targetSdkVersion configs.targetSdkVersion
        versionCode configs.versionCode
        versionName configs.versionName
    }
    ......
}

在android节点下可以使用configs.xxxxxx方式来配置sdk tools 版本信息等等

dependencies {
    testCompile "junit:junit:$rootProject.junitVersion"
    compile "com.google.code.gson:gson:$rootProject.gsonVersion"
    //MaterialDesign
    compile "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
    compile "com.android.support:design:$rootProject.supportLibraryVersion"
    //CardView
    compile "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"
    //RecyclerView
    compile "com.android.support:recyclerview-v7:$rootProject.supportLibraryVersion"
    ......

在dependencies节点下可以使用$rootProject..xxxxxx方式来配置依赖信息
使用这种方式的好处是当Android Support Repository有更新时
可以直接在gradle文件中展现提示,又有提示,又能统一管理依赖版本号,一举两得
这里写图片描述

参考:
http://www.blogjava.net/wldandan/archive/2012/07/05/382246.html
https://github.com/googlesamples/android-architecture/blob/todo-mvp/todoapp/build.gradle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值