Android - Gradle 使用干货 之 Config.gradle 统一管理版本及其配置

1. Config.gradle

android studio 中使用多 module 的时候,每个 module 下都会生成 build.gradle 文件,每个 build.gradle 文件都有自己的一套 sdk 版本和依赖,这如果被其他小伙伴使用的话,需要知道每个 build.gradle 的版本依次解决,这样总感觉不爽。

所以,使用 config.gradle 统一管理自己项目下的版本号、签名、appid和依赖等,是非常清晰的管理自己的 module

比如:

ext.versions = [
        // 本地仓库版本
        coreui           : '1.0.1',
        core             : "1.0.1",
        hardware         : "1.0.0",
        // base version : compile = target
        complieSdk       : 25,
        buildTools       : '25.0.2',
        targetSdk        : 25,
        minSdk           : 18,
        code             : 3,
        name             : '1.0',
        //test
        junit            : '4.12',
        //dependencies
        gson             : '2.8.0',
        okhttp           : '3.5.0',
        retrifit2        : '2.1.0',
        retrifitRxAdapter: '1.0.0',
        rxAndroid        : '2.0.1',
        rxJava           : '2.0.2',
        glide            : '3.7.0',
        // view version
        appcompat        : '25.1.0',
        constraint       : '1.0.2',
]

// 非界面所需依赖

ext.libs = [
        gson                   : "com.google.code.gson:gson:$versions.gson",
        //ok http
        okhttpLib              : "com.squareup.okhttp3:okhttp:$versions.okhttp",
        okhttpInterceptor      : "com.squareup.okhttp3:logging-interceptor:$versions.okhttp",
        //retrofit2
        retrifit2Lib           : "com.squareup.retrofit2:retrofit:$versions.retrifit2",
        retrifit2Gson          : "com.squareup.retrofit2:converter-gson:$versions.retrifit2",
        retrifit2Rxjava2Adapter: "com.jakewharton.retrofit:retrofit2-rxjava2-adapter:$versions.retrifitRxAdapter",
        //rx
        rxAndroid              : "io.reactivex.rxjava2:rxandroid:$versions.rxAndroid",
        rxJava2                : "io.reactivex.rxjava2:rxjava:$versions.rxJava",
        //glide
        glide                  : "com.github.bumptech.glide:glide:$versions.glide",
]

// 测试所需要的依赖

ext.tests = [
        testJuint: "junit:junit:$versions.junit",
]

// 界面所需要的依赖

ext.views = [
        appcompat       : "com.android.support:appcompat-v7:$versions.appcompat",
        layoutConstraint: "com.android.support.constraint:constraint-layout:$versions.constraint",
        v7_cardview     : "com.android.support:cardview-v7:$versions.appcompat",
        design          : "com.android.support:design:$versions.appcompat",
]

// 项目所有的 app id

ext.appIds = [
        simple:"com.smartahc.android.template.demo"
]

// 本地仓库配置

def LOCAL_SERVER_IP = "127.0.0.1"

ext.artifactIds = [
        coreui  : "coreui",
        core    : "core",
        hardware: "hardware"
]

ext.groupIds = [
        core: "com.smartahc.android.core",
]

ext.urls = [
        localUseMaven  : "http://" + LOCAL_SERVER_IP + ":8081/artifactory/smartahc-release/",
        localUploadPath: "http://" + LOCAL_SERVER_IP + ":8081/artifactory"
]

ext.localRespos = [
        repoName: "cores-release",
        userName: "core",
        password: "core"
]

我上面的统一管理了下面几项:

  • 所有使用的版本号 versions
  • 业务所需要的依赖 libs ( retrofit2 + rxjava2 + okhttp3 如果那里需要,我引入即可)
  • 界面所需的依赖 views
  • 如果有多个项目的话管理 appId ( 也可以使用在正式版和测试版上)
  • 本地仓库的一些配置

2.使用

比如上面我管理的版本号和appId , 使用如下:

apply plugin: 'com.android.application'
// 引入config.gradle
apply from: "$rootDir/config.gradle"


android {

    // 版本号使用
    compileSdkVersion versions.complieSdk
    buildToolsVersion versions.buildTools

    defaultConfig {
         // appid 配置
        applicationId appIds.simple
        minSdkVersion versions.minSdk
        targetSdkVersion versions.targetSdk
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile project(':core_ui')
}

3. 使用步骤

  • 在项目根目录下,新建 config.gradle
  • 配置版本号
  • 引入 config.gradle
  • 使用版本号

config.gradle 与 settings.gradle 同级最好

这里写图片描述


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值