java - Gradle 与 Maven : Which one is the best option for Android development

标签 java android maven gradle android-gradle-plugin

<分区>

Gradle 和 Apache Maven 之间的主要区别是什么?为什么他们在 Android 应用程序中受益?

最佳答案

Gradle 是一种构建自动化系统,它使用基于编程语言 Groovy 的领域特定语言。

Maven 用于使用 Java 的项目构建自动化,Java 使用 XML 进行项目配置。

Maven 与 Gradle

根本区别:

  • Gradle 基于任务依赖关系图——其中任务是完成工作的事物。
  • Maven 基于固定的线性阶段模型(全新安装包部署等)。

其他差异包括构建自定义能力、依赖与目录结构、集成和用户体验。

定制构建

在 Maven 中很容易找到依赖关系,但比在 Gradle 中更难定制构建(在大项目中 POM 可能不可读)。

依赖管理和目录结构

Maven 使用依赖管理,Gradle 使用目录结构。两者都清晰且易于维护。

插件和集成

与 Gradle 可用的插件数量相比,Maven Central 中的可用插件数量更多。

性能

Gradel 更快(构建、测试等)

用户体验

Maven 的长期使用意味着它通过 IDE 提供的支持对许多用户来说更好。

来源:

关于java - Gradle 与 Maven : Which one is the best option for Android development,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50150716/

相关文章:

Maven 使用 JDK6 构建成功,但使用 JDK7 失败

java - Maven-properties-filtering-like 用于 Java 注释?

android - yieldIfContendedSafely() 会失去交易的好处吗?

java - org.xml.sax.SAXParseException;cvc-complex-type.2.4.c : The matching wildcard is strict, 但找不到声明

java - 接口(interface)应该放在哪里?

java - 如何在 Xtend 的 Active Annotations 中获得完整的返回类型转发?

java - 无法在 Java 中输出格式化的 double

java - 如何使用 Vaadin 8.1 在树形网格中设置多个级别?

java - 如何从一个 Activity 中找出另一个 Activity 已终止

android - viewpager 下方的布局未显示在 ScrollView 中