美文网首页
gradle多工程全局配置

gradle多工程全局配置

作者: DevWang | 来源:发表于2016-04-29 09:22 被阅读0次

    随着产品渠道的铺开,往往一套代码需要支持多个产品形态,这就需要抽象出主要代码到一个Library,然后基于Library扩展几个App Module.

    相信每个module的build.gradle都会有这个代码:

    android {
        compileSdkVersion 22
        buildToolsVersion "23.0.1"
    
        defaultConfig {
            minSdkVersion 10
            targetSdkVersion 22
            versionCode 34
            versionName "v2.6.1"
        }
    }
    

    当升级sdk、build tool、target sdk等,几个module都要更改,非常的麻烦。最重要的是,很容易忘记,最终导致app module之间的差异不统一,也不可控.

    强大的gradle插件在1.1.0就支持全局变量设定,一举解决了这个问题.

    1、先在project的根目录下的build.gradle定义ext全局变量:

    ext {
        compileSdkVersion = 22
        buildToolsVersion = "23.0.1"
        minSdkVersion = 10
        targetSdkVersion = 22
        versionCode = 34
        versionName = "v2.6.1"
    }
    

    2、在各module的build.gradle中引用如下:

    android {
        compileSdkVersion rootProject.ext.compileSdkVersion
        buildToolsVersion rootProject.ext.buildToolsVersion
    
        defaultConfig {
            applicationId "com.xxx.xxx"
            minSdkVersion rootProject.ext.minSdkVersion
            targetSdkVersion rootProject.ext.targetSdkVersion
            versionCode rootProject.ext.versionCode
            versionName rootProject.ext.versionName
        }
    }
    

    这样每次修改project级别的build.gradle即可实现全局统一配置.

    至此,文章结束,希望此文能帮助到你,如果对此文有不同见解,欢迎直接评论!

    相关文章

      网友评论

          本文标题:gradle多工程全局配置

          本文链接:https://www.haomeiwen.com/subject/qaihrttx.html