Gradle的入门-preview


用简单通俗的话来记录自己对Gradle的理解

1.前言

现在大家都只知道Android的构建工具是Gradle。之前不了解Gradle的时候,或者是一知半解Gradle的时候,Gradle有一点问题,真是不敢乱动,生怕再搞出其它问题。世界万事万物均是如此,正如毛泽东说的:一切反动派都是纸老虎。所有的技术难点,因你不去走近、了解和学习而畏惧它,当你从整体到局部去了解它,也不再害怕如虎了,好了,说多了,只是讲了一下自己的感受。

2.构建工具

1.描述

根据输入信息然后干一堆事情,最后得到几个产出物。
在AndroidStudio中,也就是将类、资源文件等输入,输出一个apk文件。

2.发展

(1)ANT:Eclipse之前使用的就是它。配置文件是xml文件

(2)Maven:在ANT进一步发展而来,主要体现一下:
1)使用Project Object Model来对软件项目管理;
2)内置了更多的隐式规则,使得构建文件更加简单;
3)内置依赖管理和Repository来实现依赖的管理和统一存储;
4)内置了软件构建的生命周期;

(3)Gradle:
使用Groovy语言写的脚本,更简洁,便于阅读。

AndroidStudio的Gradle
在这里插入图片描述
Eclipse下的ANT在这里插入图片描述

3.AS中的gradle

1.编译中的gradlew与gradle的命令区别

1.gradlew是每个项目中都会自带的编译命令,它的本质是gradlew.bat,它对应于gradle/wrapper下的文件,当不存在时,会去仓库拉取。
2.gradle是一个gradle构件系统的命令,它需要配置,在项目中,没有发现它的位置。这也是为啥我们的命令行都是使用gradlew
在这里插入图片描述
遗留问题:
1.gradle在项目中有命令行吗?在哪里?

2.project.gradle、moudle.gradle、setting.gradle的区别

(1)project.gradle:对应于项目下的build.gradle。主要两个scriptBlock:

buildScrpit{respositories{}}//gradle构件工具下载的仓库

allProjects{respositories{}} //dependencies依赖的惨况

遗留:全局依赖的仓库是不是放到RootProject下?

(2)Module.gradle
单个模块所的编译文件
(a)apply plugin //所依赖的插件
(b)productFlavors //产品别名标识,应用场景:同一套代码,使用不同的包名编译不同的包。
©buildType//编译的版本区分:debug/release/preview

遗留:apply plugin作用?
(3)setting.gradle
将project有多少module参与。

3.gradle的构建生命周期

Gradle工作流程分为三部分:
1.初始化
对应于settings.gradle
2.配置Configration
扫描所有Task,利用有向循环图结构
3.执行
所有的Task执行
在这里插入图片描述
待补充点:可以插件思想处理一些问题

3.Gradle之Groovy

Gradle使用了动态编译语言Groovy,Groovy是Java语言的拓展,如果要了解,实际上和我们学习普通的语法是一样的。也是从最基本语法出发和行话。对于要进行Gradle的了解,行话了解即可。

1.groovy、gradle、jvm的关系

在这里插入图片描述

2.groovy中的行话

1.project.rootProject

描述的是RootProject对象。

4.Gradle之打包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值