全国免费咨询:

13245491521

VR图标白色 VR图标黑色
X

中高端软件定制开发服务商

与我们取得联系

13245491521     13245491521

2022-10-17_【Gradle-1】入门Gradle,前置必读

您的位置:首页 >> 新闻 >> 行业资讯

【Gradle-1】入门Gradle,前置必读 本文为稀土掘金技术社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究! 1、为什么要学习GradleGradle作为Android开发默认的构建工具,你的每一次编译都会用到它。 招聘要求从以前的熟悉加分,到现在的必备技能,可见Gradle的重要性。 做开发这么久了,你是否对Gradle又爱又恨?是否对Gradle的配置一知半解?是否每次编译结果都像开盲盒一样?是否想知道Gradle背后执行的原理?是否也想手写Plugin?等等等等,如果你想,那这个专栏可以给你答案,彻底搞懂Gradle,助你提效,解放双手,收割Offer。 通过这个专栏你能收获什么: 熟悉Gradle的原理及相关配置。 提升定位并解决编译失败的能力。 看懂并能手写Gradle插件。 通过Gradle提升编译速度。 助力面试,收割Offer。 2、Gradle是什么Gradle是一个专注于灵活性和性能的开源自动化构建工具。 这句话,大部分人在看的时候都是一扫而过,其实我自己也是,但是如果别人问我,为什么要用Gradle?Gradle解决了什么问题?我好像也给不出一个满意的答案,因为我就没有深入的思考过,潜意识里可能会这么回答,因为开发Android用的是Android Studio,然后创建项目的时候默认就有这些gradle的配置了,或者说gradle是Android Studio默认的构建工具,点一下run就可以编译运行到手机了。 我回答的有问题吗,好像也没有问题,可是细想一下,我好像只是在陈诉一件大家已知的事情,那如果是面试,我顶多算及格,因为没有亮点而被放进备胎池里,最后无缘offer。 那么现在,就尝试着把这句话拆开解读一下: 开源自动化构建工具 专注于灵活性和性能 2.1、什么是构建工具什么是构建工具呢,构建工具就是自动化帮我们完成一系列的编译打包的流程。 如果没有构建工具,我们就需要一遍一遍的执行命令去打包,比如打包APK要用javac去编译代码,再用AAPT去编译资源文件,然后编译DEX组合APK最后签名,如果每改一次代码预览都要这么干的话,那肯定是相当费劲的,所以自动化构建工具就诞生了。同时,构建工具也帮助我们做依赖管理,比如在Android Studio之前,我们用Eclipse开发,没有构建工具的情况下,我们要依赖一个三方库,需要把jar包下载下来,然后再放进项目里,这个过程是比较繁琐的,而且在升级jar版本的时候又要重复操作一遍,如果其他项目要用的话,又要把这个jar包再手动复制一遍,但是Gradle是支持依赖传递的,通过不同的依赖方式就可以改变依赖作用域。 2.2、构建简史在Gradle之前,最经典的当属Ant了,Ant使用的DSL是xml,xml的进化来源于MakeFile构建的繁琐,而xml特点是结构化且好理解,这比写脚本插件简单多了,所以迅速流行起来。 随着软件行业的迅速发展,我们的产品功能越来越多,业务越来越复杂,开发团队也日益庞大,这时候工程管理和工程的标准化问题就开始日益突出,于是Maven诞生了。Maven很好的解决了依赖问题,引入了标准依赖库对版本进行管理,并且对工程的目录结构、构建生命周期都做了标准化定义,极大的方便了工程管理及开发。 但是当Maven流行一段时间之后,大家又发现了问题,xml逻辑简单是不错,但是写起来太啰嗦,而且扩展性不够,此时,Gradle登场了。 Gradle在Maven的基础上,主要解决了两个问题: 用一种新的DSL,让语法变的更简洁,且支持扩展; 定义了扩展方便且不失标准的构建生命周期; 实际上Gradle发展至今,早已超越了上面这两点,而且还在不断的进化中,比如buildSrc的诞生、kts的支持、KSP的演进等等。 3、Gradle的特点Gradle是一个基于JVM运行的构建工具,使用java编写; 脚本语言(DSL)使用Groovy(.gradle)、Kotlin(.gradle.kts)编写,都是高级语言,都是面向对象编程; Gradle中的核心对象是Task,Task是Gradle中最小的构建单元,Action是最小的执行单元; Gradle中的Project对应一个工程,是树形结构,可以向下或向上遍历,还用来关联Task; Gradle提供了很好的扩展能力,可以根据需求自定义插件及配置; Gradle在各个生命周期阶段提供了丰富的回调,对于切面处理的扩展很有帮助; 高度可定制——Gradle 以最基本的方式可定制和可扩展的方式建模。 快速——Gradle 通过重用先前执行的输出、仅处理更改的输入以及并行执行任务来快速完成任务。 功能强大— Gradle 是 Android 的官方构建工具,支持多种流行语言和技术。 4、如何学习Gradle事实上,学习Gradle并不是一件易事,从Gradle原理、开发配置、到编译打包,每一个点背后都需要深入的学习和理解,围绕着这个主线我也大概简单列了一下学习路线,后面也将继续围绕着下面这个学习路线展开。 当然这个学习路线目前也是初版,因为Gradle涉及的东西还是比较多的,更新也比较快,后面也会不断的迭代补充。 5、总结本文主要介绍了掌握Gradle的重要性、什么是构建工具以及构建简史、Gradle的特点和Gradle的学习路线。 不过单凭一两篇文章也很难把Gradle讲全面讲清楚,我希望可以通过一个专栏,深入浅出,把Gradle这个难啃的知识点讲明白,所以接下来还会继续介绍Gradle中的Task、生命周期、依赖管理、插件开发、编译提速等相关知识,如果你恰好也想深入了解Gradle,欢迎关注,持续更新! 另外,后面关于Gradle的一些示例源码,都会在这个Github仓库里展开:https://github.com/yechaoa/GradleX 6、参考文档Gradle User Manual What is Gradle? Learning Gradle Mastering Gradle Gradle入门教程 阅读原文

上一篇:2023-02-03_2022用户年度报告盘点,30家平台各有亮点 下一篇:2025-07-29_年薪两百万,Claude团队新部门火热招聘中

TAG标签:

15
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设网站改版域名注册主机空间手机网站建设网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。
项目经理在线

相关阅读 更多>>

猜您喜欢更多>>

我们已经准备好了,你呢?
2022我们与您携手共赢,为您的企业营销保驾护航!

不达标就退款

高性价比建站

免费网站代备案

1对1原创设计服务

7×24小时售后支持

 

全国免费咨询:

13245491521

业务咨询:13245491521 / 13245491521

节假值班:13245491521()

联系地址:

Copyright © 2019-2025      ICP备案:沪ICP备19027192号-6 法律顾问:律师XXX支持

在线
客服

技术在线服务时间:9:00-20:00

在网站开发,您对接的直接是技术员,而非客服传话!

电话
咨询

13245491521
7*24小时客服热线

13245491521
项目经理手机

微信
咨询

加微信获取报价