通俗的理解Gradle

Android开发,打算从Eclipse+ADT迁移到Android Studio+Gradle,首先了解Gradle


什么是Gradle?

软件开发的整个过程,编程和编译只是其中的一部分。软件最终是要发布并产生商业价值的,面对不同品牌,尺寸,签名文件,服务器地址…,需要提供不同的版本并部署

软件开发,可以分成以下几个步骤:

  • 编译
  • 运行单元测试和集成测试
  • 执行静态代码分析、生成分析报告
  • 创建发布版本
  • 部署到目标环境
  • 部署传递过程
  • 执行冒烟测试和自动功能测试

步骤来自参考文献[1],因为我也没有很了解公司内部软件开发的过程,只使用过导入第三方.jar包,编译生成.classes文件,打包成.apk发布等,关于各种渠道也是从美团Android自动化之旅——生成渠道包中了解的。这些繁琐的步骤如果能够自动化构建,将会带来极大的便利。Gradle就是这类build automation tool的新宠~


WHY Gradle?

官网上有一群大牛的testimonial来blabla Gradle是多么多么的好…..Gradle自己的定义是这样的:

Gradle makes the impossible possible, the possible easy and the easy elegant

作为Google亲儿子,Android Studio+Gradle非常方便好用。虽然前期安装配置比较生疏,JDK版本和SDK版本更新网速虐哭,Gradle下载也需要起早贪黑赶着实验室人少的时候,可是一旦上手,就会理解Gradle+Android Studio的优势:

  • Gradle使用的Groovy脚本,无缝支持JVM!因为Groovy是诞生在JVM上的语言,所以比其它语言更能适应JVM的发展,而不需要像其它移植语言一样削足适履
  • Groovy脚本简洁清晰,使得构建代码更易于维护、理解,构建不同版本不同代码就变得非常简单

快速熟悉Gradle

Modules

Modules是一种独立的功能单元,可以运行、测试并且独立调试,和Eclipse的Project概念类似,但是又有不同

每个Modules都有自己的Gradle build file,它是自动生成的,保存诸如Android版本,项目依赖的内容等重要数据。有些Modules可能是“Library Module Modules”,功能上就是Eclipse中的Library Project

个人理解的话,Gradle倒挺像标签+收纳盒收纳箱,将应用和应用之间的关系细分为单个模块。单个的module,由自己的build.gradle管理;整个的Android Studio项目,由一个整体的setting.gradle管理;大多数时候,gradle文件是自动更新的;有时候也需要手动修改

依赖管理

既然Gradle的功能之一,就是强大的依赖管理工具,那么它主要管理哪些依赖呢?

本地依赖

一个Module可能依赖于其它的Module,建立好这两个Module的依赖关系,Android Studio就会自动生成Gradle配置元素

远程仓库

做软件开发就需要不同的lib/library,使用Eclipse时期每次都要下载.jar/.library后再手工导入,现在有了mavenCentral和jcenter中央仓库,从这个仓库里可以找到所有你想要的甚至没有听说过的jar/arr,你只需要在build.gradle里指定它的坐标,剩下的依赖寻找,下载,添加等都不需要你关心了

build.gradle的基本配置就是以上内容,还有许多自定义的功能,如自动打包debug,release,beta等环境,签名,多渠道打包,可以后面遇到的时候慢慢学习


怎样学习Gradle?

最初迁移到Android Studio学习Gradle,以为可以Hello World了,可以用git了,就能挽起袖子码代码了。后来clone了几个Github上的项目,Gradle版本问题、依赖包找不到、应用无法build等各种问题,发现还是要按部就班的学习Gradle:

  1. 更新gradle V2.4到V2.7:练习在控制台上使用gradle指令
  2. 在Android Studio上写demo:练习第三方库导入,包括第三方UI库导入
  3. fork源码:练习导入别人的项目中的库

参考文献

[1]知乎:gradle和maven有什么用?分别有什么区别?
[2]知乎:如何从eclipse转入android studio?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值