《Gradle for AndroID 中文版》笔记
理解 Gradle 基础Gradle 构建的脚本–build.gradle
Gradle 有约定优于配置的原则,即为设置和属性提供默认值。
项目和任务基于 Groovy 的领域专用语言(DSL)。
Groovy 是一种基于 Java 虚拟机的动态语言。
想创建自己的任务和插件,那么对 Groovy 有更深层次的理解就显得尤为重要。
Gradle 中,最重要的两个概念是项目和任务。
每一次构建都包括至少一个项目,每一个项目有包括一个或多个任务。每个build.gradle 文件都代表一个项目。任务定义在构建脚本里。当初始化构建过程时,Gradle 会基于 build 文件组装项目和任务对象。
一个任务对象包含一系列动作对象,这些动作对象之后会按顺序执行。
一个单独的动作对象就是一个待执行的代码块,它和 Java 中的方法类似。
为了简化构建过程,构建工具会新建一个动态的模型流(叫做 Directed Acyclic Graph(DAG)),所有任务都会被一个接一个地执行,不循环和重复执行。
在构建的配置阶段会生成依赖关系图,那些没有依赖的任务通常会被优先执行。
Gradle 构建通常有三个阶段:
初始化:创建项目实例,一个项目如有多个模块,每个模块都有 build.gradle 文件,那么创建多个项目实例。配置:构建脚本会被执行,并为每个项目实例创建和配置任务。执行:Gradle 将决定哪个任务会被执行。构建配置文件整个项目的 build.gradle 文件:
buIDscript { repositorIEs { jcenter() } dependencIEs { classpath 'com.androID.tools.build.gradle:3.5.0' }}@H_419_60@
JCenter 是一个预配置的 Marven 仓库,放在 repositorIEs 代码块中代表被配置为整个构建过程的依赖仓库。
AndroID 应用插件:
apply plugin: 'com.androID.application'@H_419_60@
每一个安卓项目都应该申请该插件,通常在 app 模块的 build.gradle 文件中。
用于扩展 Gradle 构建脚本的能力。
在项目中应用一个插件,项目就可以使用该插件预定义的一些属性和任务。
AndroID 依赖库插件:
apply plugin: 'com.androID.library'@H_419_60@
依赖库的 build.gradle 文件需要声明应用 AndroID 依赖库插件。
一个模块可以是 AndroID 应用模块,或者是一个 AndroID 依赖模块,但不能二者都是,即不能同时申请上面两种插件。
当使用 AndroID 插件时,不仅可以配置针对 AndroID 的特殊约定,还可以生成只应用于 AndroID 的任务。
androID { compileSdkVersion 29 // 编译的 SDK 版本 buildToolsversion "29.0.2" // 构建工具版本}@H_419_60@
这是 AndroID 特殊约定的一部分。AndroID 插件为 AndroID 的开发需求提供了一整套的 DSL。
项目结构MyApp
build.gradlesettings.gradleapp build.gradlelibssrc mainjava com.package.myapp res drawablelayoutetc. libcommon build.gradlelibssrc mainjava com.libs.libcommon res drawablelayoutetc. Gradle WrapperGradle 是一个不断发展的工具,新版本可能打破向后兼容性,使用 Gradle Wrapper 可以避免这个问题,并能确保构建时可重复的。
Gradle Wrapper 为 windows *** 作系统提供了一个 batch 文件(为其他 *** 作系统提供了 shell 文件),当运行这段脚本时,需要的 Gradle 版本会被自动下载(如果不存在)和使用。这样就无需手动安装正确的 Gradle 版本。
terminal 上运行
$ gradlew -v@H_419_60@
或在命令行中运行
$ gradlew.bat -v@H_419_60@
查看 Gradle 版本号和其他额外参数信息。
@L_419_7@运行基本构建任务$ gradlew tasks@H_419_60@
打印所有可用的任务列表,添加 --all 参数,会打印每个任务对应依赖的详细介绍。
$ gradlew assembleDeBUG@H_419_60@
其他还有
Check:运行所有的检查。Build:触发 assemble 和 check。Clean:清除项目的输出(output) 总结以上是内存溢出为你收集整理的Gradle 笔记 - Gradle 基础全部内容,希望文章能够帮你解决Gradle 笔记 - Gradle 基础所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)