Gradle全局参数配置

前言

当一个project下有多个module时,全局依赖参数可以统一起来,修改时只需修改一处就行了,比较方便。当然如果格式你看着不爽,可以不这样写,毕竟现在是社会主义社会嘛,选择自由。

配置

1.只想配置defaultConfig的情况和google系统的自带库
首先在项目的根build.gradle下配置ext

ext{
    compileSdkVersion =25
    buildToolsVersion= '25.0.2'
    minSdkVersion = 16
    targetSdkVersion = compileSdkVersion
    versionCode =1
    versionName ='1.0.0'
    supportLibVersion = '25.3.1'
}

然后在app/build.gradle下修改defaultConfig

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

dependencies {
       compile "com.android.support:design:$supportLibVersion"
       compile "com.android.support:cardview-v7:$supportLibVersion"
}

2.想配置defaultConfig和所有依赖库的情况
在项目的根目录下创建config.gradle文件

ext{
    android=[
            applicationId:"com.fsp.aiyagirl",
            compileSdkVersion :25,
            buildToolsVersion :"25.0.2",
            minSdkVersion : 16,
            targetSdkVersion : 25,
            versionCode : 1,
            versionName :"1.0.0"
    ]

    dependencies =[
            "appcompat-v7"        : "com.android.support:appcompat-v7:25.3.1",
            "constraint"        : "com.android.support.constraint:constraint-layout:1.0.2",
    ]
}

然后在根的build.gradle中引用
apply from: "config.gradle"
这样工程的所有module都能用这个文件的参数
最后在app/build.gradle中

android {
    compileSdkVersion rootProject.ext.android.compileSdkVersion
    buildToolsVersion rootProject.ext.android.buildToolsVersion
    defaultConfig {
        applicationId rootProject.ext.android.applicationId
        minSdkVersion rootProject.ext.android.minSdkVersion
        targetSdkVersion rootProject.ext.android.targetSdkVersion
        versionCode rootProject.ext.android.versionCode
        versionName rootProject.ext.android.versionName
     
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile rootProject.ext.dependencies["appcompat-v7"]
    compile rootProject.ext.dependencies["constraint"]
}

至此,配置工作已经全部结束,有不足之处可以提出来共同探讨。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • Gradle配置最佳实践 本文会不定期更新,推荐watch下项目。如果喜欢请star,如果觉得有纰漏请提交issu...
    Solang阅读 1,659评论 0 4
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,935评论 6 342
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,985评论 25 708
  • 摘要 在做任何事情之前,通过关注“方法”去反复拆分任何,最终确认每个子任务都是可完成的,这是一个人不可或缺的功课。...
    10a511ef53bb阅读 170评论 0 0