开篇
每个安卓开发创建完工程都会看到一些非java代码的工程相关文件,他们是gradle这个构建工具穿件出来的。 本系列文章是站在安卓开发者的视角来分析,这些gradle文件都有什么作用。
系列其他文章导航
未完待续。。。
踩坑
gradle学习心得-1 国内镜像 gradle学习心得-2 AGP配置
未完待续。。。
gradle介绍
本章节由chatgpt大力支持。
gradle 是一种现代的构建自动化工具,用于构建、测试和部署软件项目。它与其他构建工具(如Apache Ant和Apache Maven)不同,因为它使用了一种基于Groovy和Kotlin的领域特定语言(DSL)来定义构建过程,这使得构建文件更加灵活和可读性更强。以下是 Gradle 的一些重要特点和介绍:
- 领域特定语言(DSL) :Gradle 使用 Groovy 和 Kotlin 作为构建文件的DSL,使构建文件更加简洁和可读。开发者可以通过代码来定义构建任务、依赖关系和插件。
- 灵活性:Gradle 提供了灵活的构建配置选项,可以适应各种项目类型和需求。开发者可以自定义构建过程,以满足其特定需求,而不受限于固定的构建模型。
- 强大的依赖管理:Gradle 支持丰富的依赖管理功能,包括本地依赖、远程存储库依赖、动态版本控制和快照版本的支持。
- 插件生态系统:Gradle 具有广泛的插件生态系统,允许开发者扩展构建工具的功能,从而适应各种工程需求,如Java、Android、Web开发等。
- 多项目构建:Gradle 支持多项目构建,允许在一个构建中管理和构建多个相关的子项目,这对于大型工程项目非常有用。
- 增量构建:Gradle 可以智能地确定哪些任务需要重新构建,以提高构建效率。这是通过检测文件变化和任务依赖关系来实现的。
- 强大的插件系统:Gradle的插件系统允许开发者轻松扩展构建功能,或者使用现有的插件,从而提高生产力。
- 易于集成:Gradle 可以与其他工具和服务(如Jenkins、JIRA、SonarQube等)集成,以支持持续集成和持续交付(CI/CD)流程。
- 丰富的文档和社区支持:Gradle 有广泛的文档和活跃的社区支持,开发者可以轻松找到解决问题的资源和支持。
总之,Gradle 是一种功能强大、高度可定制和易于使用的构建工具,适用于各种类型的软件项目。它已经成为许多开发团队的首选构建工具之一,尤其在Java和Android开发领域中得到广泛应用。
gradle 项目结构
下图是我新建了一个空白安卓工程所包含的文件。

文件分析
- gradle wapper
Gradle 的特定版本和设置相关

- settings.gradle
主要作用是定义所有被包含的子模块, 将一个大的工程按模块分解为子模块, 更加符合模块化设计的思路.
- build.gradle
是 Gradle 构建工具中的主要配置文件,它定义了项目的构建和任务配置。

- gradle.properties
文件用于配置 Gradle 构建工具的全局属性。这些属性可以影响整个 Gradle 项目的行为。例如,您可以在这个文件中指定依赖库的版本,代理服务器设置等。
- local.properties
通常用于指定 Android SDK 的位置。