为什么要使用Gradle?

5

我之前一直使用Eclipse,后来转移到了Android Studio。在这之后我第一次接触到Gradle。我了解到它是用于构建、测试和发布的自动化工具。但是我在开发应用时通常是分别完成这些任务的,先编码再测试,如果一切正常,我会认为它足够好并准备发布。那么Gradle在这些任务中起到了什么作用呢?很抱歉这可能是一个非常初学者的问题,但我已经阅读了相关资料,却仍然无法理解。

3个回答

8
新的基于Gradle的构建系统的主要优势在于,您可以轻松定义多个
  • 构建类型(例如debug和release)
  • 产品风味(例如lite和pro版本)
并为每个(和组合)单独定义整个构建过程,例如:
  • 代码集
  • 可调试性
  • 应用程序ID
  • 签名配置
  • 依赖项
这允许非常简洁的事情,例如为debug releases设置不同的应用程序ID(软件包名称),以便同时安装发布版和debug版。

“installed in the same time” 是什么意思? - Ilya Gazman
您不能在同一设备上同时安装两个具有相同包名(ID)的应用程序。 - Tenfour04
@Ilya_Gazman 现在可以在同一设备上并排安装它们两个。 - FD_

4

首先有一些思想方面的原因。一些开发者喜欢命令行工具。通过选择命令行而不是GUI,你可以大大提高工作速度。

目前,使用GUI工具时,构建过程还算顺畅。但是,自动化程度是有限制的。它只适用于某些特殊情况。例如,使用类似gradle这样的构建工具,可以完全使用脚本语言进行构建,没有任何限制。这就是第二个原因。

如果只使用Eclipse,如何实现每次从develop分支合并到master分支后,自动构建项目、将apk推送至50个不同的移动设备、运行测试套件,然后在测试成功运行后将应用程序部署到Play和Amazon?


谢谢您用如此简单的语言解释,这真的很有帮助。 - vishalmullur

3
你需要一个依赖管理工具,比如maven或gradle,来处理规模较大的项目。 此外,它可以帮助你自动化发布过程,这可能非常复杂。
对于小型个人应用程序来说,这可能过度。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接