东莞连衣裙 东莞网站建设,部门网站建设总结,东莞网站建设方案维护,接活做图网站1. Gradle是什么
Gradle是一个通用的构建工具#xff0c;支持诸多主要的 IDE#xff0c;包括 Android Studio、IntelliJ IDEA、Visual Studio 等
Gradle 的底层实现(核心引擎和框架)其实是用 Java 编写的开发者通常使用 Groovy 或 Kotlin 来编写构建脚本 1.1 那么为什么Gra…1. Gradle是什么
Gradle是一个通用的构建工具支持诸多主要的 IDE包括 Android Studio、IntelliJ IDEA、Visual Studio 等
Gradle 的底层实现(核心引擎和框架)其实是用 Java 编写的开发者通常使用 Groovy 或 Kotlin 来编写构建脚本 1.1 那么为什么Gradle的底层不使用Groovy进行开发而是使用Java ?
Java具有更被广泛验证的稳定性生态系统庞大且成熟拥有大量的开源库和工具Java是静态语言具有更好的可维护性尤其是在一个需要长期维护的大型开源项目时随着时间推移Gradle还引入了Kotlin DSL作为构建脚本的开发而底层仍然使用Java这样可以确保无论脚本层如何变化核心引擎的性能和表现都能一致
2. Gradle和Ant、Maven
Ant : 2000年由Apache推出的纯Java编写的构建工具通过build.xml文件管理项目Maven : 2004年Apache推出的使用pom.xml管理项目的构建工具 缺点 : 配置文件编写不够灵活构建过程僵化 Gradle : 2012年Google推出的权限项目构建工具集合了Ant和Maven各自的优势。 相对学习成本高 3. Gradle安装包
在Gradle中src、bin和all是不同类型的发布版本或分发方式这些版本在内容和使用上有所不同。 Gradle的所有安装包都可以在官网上下载到 : Gradle Release以下是它们之间的主要区别
src源码版包含了Gradle的完整源代码bin二进制版包含了Gradle的可运行程序但不包含源码和文档all完整版包含了Gradle的完整发布包括可运行程序、用户文档和源码
4. Gradle项目结构
Android项目的目录结构就是继承自Gradle的所以我们会感觉Gradle的项目结构非常的熟悉。 下面这张图我对Gradle目录的结构做了对应的说明。 其中
gradlew.bat 这个是在windows下的可执行脚本gradlew是在其他系统下的可执行脚本
无论是gradlew.bat还是gradlew实际上都是执行的wrapper文件夹底下指定版本的Gradle的指令 详见 Gradle Directories 5. Gradle Wrapper
Gradle的项目中都有gradle-wrapper.jar和gradlew.bat脚本。 假设我们把这个项目复制到没有安装任何Gradle的机器上会发生什么 ?
会自动去下载指定的gradle。
可以看一下脚本里的源码本质上会去加载并运行gradle-wrapper.jar。gradle-wrapper.jar 会把gradle指定版本给下载下来后然后用这个指定gradle版本来执行构建。
把gradlew wrapper给上传上去以保证任何人将项目源码下载下来之后都可以和你一样的gralde版本去构建以避免版本不一致带来的问题。
6. GradleUserHome
GradleUserHome是Gradle构建工具的一个重要属性它是Gradle的工作及缓存仓库文件目录。如果不进行特别配置GradleUserHome的默认路径通常是用户目录下的“.gradle”文件夹 (C:\Users\我的用户名\.gradle)。在这个目录下Gradle会下载或缓存大量文件。 由于GradleUserHome占用存储空间比较大我们可以配置全局的环境变量将GradleUserHome设置到非系统盘中从而减少C盘的磁盘空间占用。 如果你把一个gradle的脚本放在init.gradle这个目录那么这个脚本就会对你机器上所有的gradle构建生效在你的gradle构建之前它就会先执行一下。比如说执行一个全局的仓库替换(国内下载很慢)。 但是init.gradle 文件和项目的 settings.gradle 或 settings.gradle.kts 文件不同。settings.gradle 文件是用于配置项目设置如项目名称、包含的模块等的而 init.gradle 是全局的并且针对Gradle守护进程。 在大多数情况下你不需要手动创建或编辑 init.gradle 文件除非你有特定的全局配置需求。如果你确实需要修改它确保你了解这些更改的影响并在必要时进行充分的测试。 6.1 gradle-wrapper.properties文件解读
gradle项目的wrapper目录下有一个文件这个文件用来配置Gradle具体的版本和下载地址以及存放路径
zipStore : 压缩包存放的目录distribution : 压缩包解压后存放的目录distributionUrl : Gradle的版本及下载地址默认的是国外的下载地址可能下载速度比较慢可以将URL改为国内的 比如https://mirrors.cloud.tencent.com/gradle/gradle-8.2-bin.zip 7. Gradle相关的其他文章
Android Gradle开发与应用 (一) : Gradle基础 Android Gradle开发与应用 (二) : Groovy基础语法 Android Gradle插件开发_实现自动复制文件插件