gradle在Android的中的一些用法

参考文章点这里

我认识的Gradle

gradle是我们工程的管理器,它可以帮助我们完成依赖、分渠道、打包等功能,它使用了Groovy语言来设置项目,Groovy是一种基于JVM的动态语言,对Java语言有很好的支持。下面我们来分别看一下android项目中的几个gradle。

setting.gradle

setting.gradle存放在我们的工程目录下,顾名思义,它是用来初始化我们的工程的,它里面存放着我们不同module下的build.gradle。
这里写图片描述
当前我的项目里就有两个module,一个是app,另一个是ui

build.gradle

一、根目录下的build.geadle

这里写图片描述

1.buildscript

设置了gradle需要使用到的资源。

2.repositories

代表第三方托管平台的仓库。

3.dependencies

导入的依赖,这里导入的是gradle的android插件,用来构建android项目的。gradle插件的版本和studio、gradle的版本是一一对应的,有时候升级AS时,会出现gradle版本不对应的错误,这里是android官方的说明Gradle与android插件(需要科学上网)

4.allprojects

用于为所有项目提供仓库,这样我们可以在每个module的build.gradle里直接配置依赖。

再说一下 apply from

apply from表示引入了一个应用脚本插件,插件的文件名就是config.gradle
这里写图片描述

ext

ext是自定义属性,我们可以在这里配置一些全局的信息,这样每个module的gradle都会引用这里的信息,便于之后的修改。我们在config.gradle里面定义了版本号和版本名称,我们可以在app的build.geadle使用它,使用config.gradle必须要在protect的build.gradle引入。
这里写图片描述

二、module下的build.gradle

常用的配置这里就不细说了,大家可以点击最上方的链接,去看一下另外一位作者的。

1.sourceSets

sourceSets是属于Java插件中的,我们可以修改sourceSets中的属性,我们可以指定资源的路径,或者来决定哪些源文件需要被编译,而哪些需要被排除。下面是Java的标准项目目录,大家可以对应修改。
这里写图片描述

2.productFlavors

可以用来配置多个渠道,多维度。

3.flavorDimensions

用来配置维度,或者在多渠道中修改默认配置时,需要在defaultConfig{}中声明一下,

4.manifestPlaceholders

占位符,用来配置AndroidManifest文件用到的一些信息。

5.buildConfigField

属于BuildType类的一个方法,用来新添加一个字段到BuildConfig类中,BuildConfig类是编译之后生成的,可以用于我们代码中判断当前的编译版本等操作。
这里写图片描述

上图的flavorDimensions定义了两个维度‘store’和‘free’,再分别在两个不同的渠道上声明不同的维度,这样在编译的时候,就和把我们定义的两个渠道按照维度来合并成一个渠道,我们可以在Build Variants里查看。
这里写图片描述
这种适合我们需要编译不同需求的包,比如APP有免费版和付费版,并且要发布到渠道A和渠道B上,这样我们就要打出四种不同组合的包,这时我们只要配置好了渠道和维度,就可以方便的打出四个包。

以上。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值