Gradle之全局配置
为什么要全局配置Gradle?
答:为方便在不同module中设置版本号等配置信息,可以通过配置全局变量来统一所有module的公共配置信息。
Gradle全局配置流程
- 在项目的根目录下新建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之全局配置相关推荐
- Gradle全局配置
配置 GRADLE_USER_HOME 注意: 如果不配置该属性,则默认的目录为 C:\Users\你自己电脑用户名/.gradle 在 GRADLE_USER_HOME目录中新建一个init.gra ...
- Android 使用 Gradle 打包 - 签名配置
序言 最近正好在项目里用到了 Gradle 打包的配置,顺便总结一下. 一般的 apk 打包类型分为 debug 和 release:debug 开启日志,不进行混淆,用于测试:release 关闭日 ...
- gradle linux配置环境变量配置文件,gradle init.gradle的文件配置 使用
init.gradle文件在build开始之前执行,所以你可以在这个文件配置一些你想预先加载的操作 例如配置build日志输出.配置你的机器信息,比如jdk安装目录,配置在build时必须个人信息,比 ...
- 【莹伙丛】手把手教你:Gradle 安装及配置
Gradle 安装 在官网 Gradle 安装页面 ,我们看到前置任务是需要已经安装JDK 8+.使用命令检查当前机器是否已经安装JDK,并确认版本是否符合要求: $ java -version ja ...
- gradle安装及配置
gradle下载及配置 1.gradle版本选择 2.gradle压缩包下载 3.配置gradle环境变量 4.配置仓库(使用maven仓库) 5.配置gradle到idea 1.gradle版本选择 ...
- AS Gradle 8.0 配置 + Realm 使用
目录 Gradle 概述 AS Gradle 8.0 配置说明 1)项目 settings.gradle 2)项目 build.gradle 3)子模块 hawkysdk-realm 3.1 buil ...
- npm全局环境变量配置,全局配置cnpm
今天新电脑想安装node.js , 发现最新版本的node.js已经不支持win7了,但是又不想换系统,所以找了个旧版本,这里不多说了.如果找不到旧版本的node下载,可以去我的QQ交流群文件里面下载 ...
- git 修改全局配置
2019独角兽企业重金招聘Python工程师标准>>> bash 命令 git config --global --list 查看 所有全局配置 添加全局配置 git ...
- 【Android Gradle 插件】gradle.properties 中配置编译参数并在 Java 代码 BuildConfig 中调用该参数
文章目录 一.gradle.properties 中配置编译参数 二.在 build.gradle 中配置 BuildConfig.java 生成信息 三.编译后生成的 BuildConfig 类 A ...
- 【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )
文章目录 一.AspectJ 下载 二.拷贝 aspectjrt.jar 到 Android Studio 三.配置 Gradle 和 Gradle 插件版本 四.配置 Gradle 构建脚本 一.A ...
最新文章
- 用C#操纵IIS(代码)
- 小程序 缩放_缩放流星应用程序的初体验
- 登录锁定状态下Win7关机技巧总结
- Spring MVC 3 深入总结
- 数据库-null值处理及元数据
- c语言成绩管理系统开题报告,学生信息管理系统,开题报告(共篇).doc
- 杭电 1021 找规律
- Bmrxntfj.UIMapper界面对象映射
- java找出最高工资和下标_(java)leetcode852 山脉数组的封顶索引(二分查找法找出数组中最大值的下标)(Peak Index in a Mountain Array)...
- BP神经网络学习与代码预演
- iphone邮箱无法连接163服务器,苹果iPhone不能登陆163邮箱的解决办法
- iOS Orientation 屏幕旋转
- 微信小程序农历日期选择器 lunar-picker
- python 字符串 下标
- pdf转换成word转换器免费版哪里下载
- Linux下解压分包文件zip(zip/z01/z02)【转】
- Unity高质量场景打光参考资料
- 学计算机要具备什么能力,具备什么特质能学计算机
- [Python]使用QRCode生成彩色二维码
- l那是计算机房吗,机房设计常用计算公式