使用Gradle统一管理常用库和版本号

现在AndroidStudio已经是开发Android的主流IDE了,当然还有人在使用Eclipse特别是那些项目中使用自己开发的so文件的公司可能由于各种原因还没切换到AndroidStudio。在AS中常见的引用库我们是在我们项目的build.gradle进行引入常用库,并使用gradle来进行渠道打包等操作。

这里写图片描述

比如上图中的我们在gradle中引入的常用库,然后还有一些版本信息如下:

defaultConfig {
        applicationId "neacy.rxdemo"
        minSdkVersion 23
        targetSdkVersion "23.0.2"
        versionCode 1
        versionName "1.0"
    }

是吧一大堆的数字,在我们代码中如果如果说突然出现一个常量没有注释的话我们压根就不太明白到底是干嘛用,所以被人称之为”魔数”。当然在gradle中的这些数字也有大概的意思,每逢这些常量库版本升级需要改变版本号、我们项目版本迭代的时候就得每一行进行修改,万一漏了一处就是个悲剧诞生的开始。

所以我们在根目录下新建一个config.gradle来进行统一配置

这里写图片描述

然后在里面声明脚本代码来进行配置。

ext{
    android = [compileSdkVersion : 23,
               buildToolsVersion : "23.0.2",
               minSdkVersion     : 14,
               targetSdkVersion  : 23,
               versionCode       : 1,
               versionName       : "1.0"]


    dependencies = ["support-v7"        : 'com.android.support:appcompat-v7:23.+',
                    "design"            : 'com.android.support:design:23.+',
                    "rx_android"        : 'io.reactivex:rxandroid:1.0.1',
                    "rx_binding"        : 'com.jakewharton.rxbinding:rxbinding:0.2.0',
                    "retrofit"          : 'com.squareup.retrofit2:retrofit:2.0.0-beta3',
                    "retrofit_adapter"  : 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta3']
}

这步完成之后我们需要在根目录下的build.gradle进行声明这个config.gradle

这里写图片描述

一切就绪之后,接下来就是在项目的gradle中进行引用即可了。

apply plugin: 'com.android.application'

android {
    compileSdkVersion rootProject.ext.android.compileSdkVersion
    buildToolsVersion rootProject.ext.android.buildToolsVersion

    defaultConfig {
        applicationId "neacy.rxdemo"
        minSdkVersion rootProject.ext.android.minSdkVersion
        targetSdkVersion rootProject.ext.android.targetSdkVersion
        versionCode rootProject.ext.android.versionCode
        versionName rootProject.ext.android.versionName
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile rootProject.ext.dependencies["support-v7"]
    compile rootProject.ext.dependencies["design"]


    // RxAndroid
    compile rootProject.ext.dependencies["rx_android"]
    compile rootProject.ext.dependencies["rx_binding"]

    // Retrofit
    compile rootProject.ext.dependencies["retrofit"]
    compile rootProject.ext.dependencies["retrofit_adapter"]
}

然后每次本部更新之后我们只需要修改config.gradle对应的数字即可了,再也不用怕忘记改漏改了。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值