为什么要全局配置Gradle?

答:为方便在不同module中设置版本号等配置信息,可以通过配置全局变量来统一所有module的公共配置信息。

Gradle全局配置流程

  1. 在项目的根目录下新建config.gradle文件(如下图) 2..将gradle中的公共部分写入 config.gradle 文件中:

androidSupportVersion =
ext {android = [        : 26,//编译的 SDK 版本,如API20//构建工具的版本,其中包括了打包工具aapt、dx等,如API20对应的build-tool的版本就是20.0.0: "26.0.2",//兼容的最低 SDK 版本: 21,//向前兼容,保存新旧两种逻辑,并通过 if-else 方法来判断执行哪种逻辑: 22,: 'com.suchengkeji.andeoid.confingdemo',: 1,: 'v 1.1.1',// versionName  最后组成的是1.1.1: 'release',: true,: 'android.support.test.runner.AndroidJUnitRunner']dependencies = ["appcompat-v7": "com.android.support:appcompat-v7:${androidSupportVersion}",//"appcompat-v7": "com.android.support:appcompat-v7:25.3.1","constraint"  : "com.android.support.constraint:constraint-layout:1.0.2","junit"       : 'junit:junit:4.12',]
}
复制代码

3.在主项目根目录的build.gradle中申明一下(声明在project/buile.gradle下):


apply   :
复制代码

4在项目中(app/build.gradle)引用我们的路径配置(如图:)

app/build.gradle整体文件


apply plugin: 'com.android.application'
def Buildconfig = rootProject.ext.android
def BuildLibray = rootProject.ext.dependenciesandroid {//版本配置buildToolsVersion Buildconfig["buildToolsVersion"]compileSdkVersion Buildconfig["compileSdkVersion"]defaultConfig {applicationId Buildconfig["applicationId"]//SDK配置minSdkVersion Buildconfig["minSdkVersion"]targetSdkVersion Buildconfig["targetSdkVersion"]versionCode Buildconfig["versionCode"]versionName Buildconfig["versionName"]}//签名的配置signingConfigs {debug {storeFile file('H:\\configTest.jks')//签名文件路径storePassword "123456"//签名密钥密码keyAlias "configTest"//别名keyPassword "123456"  //签名公钥密码println("====== signingConfigs.debug ======")}release {storeFile file('H:\\configTest.jks')//签名文件路径storePassword "123456"keyAlias "configTest"keyPassword "123456"  //签名密码println("====== signingConfigs.release ======")}}buildTypes {release {minifyEnabled false//是否启动混淆zipAlignEnabled false//是否启动zipAlign优化shrinkResources false // 是否移除无用的resource文件proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'signingConfig signingConfigs.release//打包命令行:gradlew assembleReleaseandroid {applicationVariants.all { variant ->variant.outputs.each { output ->def outputFile = output.outputFileif (outputFile != null && outputFile.name.endsWith('.apk')) {File outputDirectory = new File(outputFile.parent);if (variant.buildType.name == "release") {//app名称_vnandroid.support.test.runner.AndroidJUnitRunner_vc1_release.apk//def fileName = "app名称_vn${defaultConfig.versionName}_vc${defaultConfig.versionCode}_release.apk"//名称ConfigTest_版本v 1.1.1_时间2017-12-26_打包渠道wandoujia.apkdef fileName = "ConfigTest_${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"output.outputFile = new File(outputDirectory, fileName)}}}}}}}//配置多渠道打包productFlavors {zejian {manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]}huawei {manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]}_360 {manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]}baidu {manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]}wandoujia {manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]}}//配置多渠道打包简写方法
//    productFlavors {
//
//        wandoujia {}
//        baidu {}
//        c360 {}
//        uc {}
//
//        productFlavors.all { flavor ->
//            flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
//        }
//
//    }lintOptions {//设置编译的lint开关,程序在buid的时候,会执行lint检查,有任何的错误或者警告提示,都会终止构建abortOnError false}
}dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])依赖配置compile BuildLibray["appcompat-v7"]compile BuildLibray["constraint"]
}def releaseTime() {return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("GMT"))
}
复制代码

Gradle之全局配置相关推荐

  1. Gradle全局配置

    配置 GRADLE_USER_HOME 注意: 如果不配置该属性,则默认的目录为 C:\Users\你自己电脑用户名/.gradle 在 GRADLE_USER_HOME目录中新建一个init.gra ...

  2. Android 使用 Gradle 打包 - 签名配置

    序言 最近正好在项目里用到了 Gradle 打包的配置,顺便总结一下. 一般的 apk 打包类型分为 debug 和 release:debug 开启日志,不进行混淆,用于测试:release 关闭日 ...

  3. gradle linux配置环境变量配置文件,gradle init.gradle的文件配置 使用

    init.gradle文件在build开始之前执行,所以你可以在这个文件配置一些你想预先加载的操作 例如配置build日志输出.配置你的机器信息,比如jdk安装目录,配置在build时必须个人信息,比 ...

  4. 【莹伙丛】手把手教你:Gradle 安装及配置

    Gradle 安装 在官网 Gradle 安装页面 ,我们看到前置任务是需要已经安装JDK 8+.使用命令检查当前机器是否已经安装JDK,并确认版本是否符合要求: $ java -version ja ...

  5. gradle安装及配置

    gradle下载及配置 1.gradle版本选择 2.gradle压缩包下载 3.配置gradle环境变量 4.配置仓库(使用maven仓库) 5.配置gradle到idea 1.gradle版本选择 ...

  6. AS Gradle 8.0 配置 + Realm 使用

    目录 Gradle 概述 AS Gradle 8.0 配置说明 1)项目 settings.gradle 2)项目 build.gradle 3)子模块 hawkysdk-realm 3.1 buil ...

  7. npm全局环境变量配置,全局配置cnpm

    今天新电脑想安装node.js , 发现最新版本的node.js已经不支持win7了,但是又不想换系统,所以找了个旧版本,这里不多说了.如果找不到旧版本的node下载,可以去我的QQ交流群文件里面下载 ...

  8. git 修改全局配置

    2019独角兽企业重金招聘Python工程师标准>>> bash 命令 git config --global --list         查看 所有全局配置 添加全局配置 git ...

  9. 【Android Gradle 插件】gradle.properties 中配置编译参数并在 Java 代码 BuildConfig 中调用该参数

    文章目录 一.gradle.properties 中配置编译参数 二.在 build.gradle 中配置 BuildConfig.java 生成信息 三.编译后生成的 BuildConfig 类 A ...

  10. 【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )

    文章目录 一.AspectJ 下载 二.拷贝 aspectjrt.jar 到 Android Studio 三.配置 Gradle 和 Gradle 插件版本 四.配置 Gradle 构建脚本 一.A ...

最新文章

  1. 用C#操纵IIS(代码)
  2. 小程序 缩放_缩放流星应用程序的初体验
  3. 登录锁定状态下Win7关机技巧总结
  4. Spring MVC 3 深入总结
  5. 数据库-null值处理及元数据
  6. c语言成绩管理系统开题报告,学生信息管理系统,开题报告(共篇).doc
  7. 杭电 1021 找规律
  8. Bmrxntfj.UIMapper界面对象映射
  9. java找出最高工资和下标_(java)leetcode852 山脉数组的封顶索引(二分查找法找出数组中最大值的下标)(Peak Index in a Mountain Array)...
  10. BP神经网络学习与代码预演
  11. iphone邮箱无法连接163服务器,苹果iPhone不能登陆163邮箱的解决办法
  12. iOS Orientation 屏幕旋转
  13. 微信小程序农历日期选择器 lunar-picker
  14. python 字符串 下标
  15. pdf转换成word转换器免费版哪里下载
  16. Linux下解压分包文件zip(zip/z01/z02)【转】
  17. Unity高质量场景打光参考资料
  18. 学计算机要具备什么能力,具备什么特质能学计算机
  19. [Python]使用QRCode生成彩色二维码
  20. l那是计算机房吗,机房设计常用计算公式

热门文章

  1. Tensorflow的最佳实践
  2. CSS样式表——列表与布局
  3. SVN移植、合库、分库
  4. 常用的php类、方法、函数 注释标记
  5. Windows Mobile 6.0 (1)
  6. 2004级C++试题及答案
  7. LibreOJ 6283 数列分块入门 7(区间加区间乘区间求和)
  8. 浅谈FMA与SMA(test)
  9. Mac下使用gitHub
  10. 修改Linux默认启动级别或模式的方法