Gradle-处理文件-Working-With-Files
Copying a single file 复制单个文件
通过创建 Gradle 的内建 Copy 任务的实例并将其配置为文件的位置和要放置文件的位置,可以复制文件。 这个例子模拟了将生成的报告复制到一个目录中,这个目录将被打包到一个归档文件中,比如 ZIP 或者 TAR:
1 | task copyReport(type: Copy) { |
你甚至可以不使用 File ()方法直接使用这个路径,正如在文件复制深度部分前面解释的那样:
通过创建 Gradle 的内建 Copy 任务的实例并将其配置为文件的位置和要放置文件的位置,可以复制文件。 这个例子模拟了将生成的报告复制到一个目录中,这个目录将被打包到一个归档文件中,比如 ZIP 或者 TAR:
1 | task copyReport(type: Copy) { |
你甚至可以不使用 File ()方法直接使用这个路径,正如在文件复制深度部分前面解释的那样:
1 | mkdir demo |
在新项目目录中,运行 init 任务,并在提示时选择 java-application 项目类型。 对于其他问题,按回车键使用默认值。
1 | $ gradle init |
在项目中应用插件可以扩展项目的能力,它可以做以下事情:
在 Gradle 有两种通用的插件,脚本插件和二进制插件。 脚本插件是附加的构建脚本,用于进一步配置构建,并通常实现操作构建的声明性方法。 它们通常在构建中使用,尽管它们可以外部化并从远程位置访问。 二进制插件是实现 Plugin 接口并采用编程方法来操作构建的类。 二进制插件可以驻留在构建脚本中、项目层次结构中或外部插件罐中。
从这章开始我们就开始介绍 Android Gradle 插件了,会通过几章由浅入深的详细的介绍 Android Gradle,本章会简单的介绍下 Android Gradle 插件,然后通过一个例子对其有大概的了解,最后讲下如果从原来基于 Eclipse 进行 Android 开发的方式,转到基于 Android Studio,使用 Android Gradle 插件开发的新方式
从 Gradle 的角度看,我们知道 Android 其实就是 Gradle 的一个第三方插件,他是由 Google 的 Android 团队开发的,但是从Android 的角度看,Android 插件是基于 Gradle 构建的,和Android Studio完美无缝搭配的新一代构建系统,它不同于 Eclipse+Ant 的搭配,相比于旧的构建系统,它更灵活,更容易配置,还能很方便的创建衍生的版本–也就是我们常用的多渠道包。让我们看看 Android 官方对它的推崇程度:
上面说的 IDE 就是 Android Studio,真是 Android Gradle + Android Studio 搭配,工作不累。
本章从整体构建脚本的角度介绍 Gradle,什么是 Settings文件,他有什么作用;什么是 Build 文件,它又有什么作用,我们可以新建多少Build文件。
然后会介绍 Gradle 的两个重要的概念:Project 和 Task,他们有什么作用,又有什么关系,如何创建一个Task,如何对 Task 进行配置,Task 之间如何建立依赖关系;Task如何使用 API 控制和 Task 之间的通信等等。
最后介绍的是自定义属性,他们有何作用,如何定义,什么时候会用到等等,最后最后强调的是脚本就是代码,以写代码的方式来写脚本,灵活运用。
在 Gradle 中,定义了一个设置文件,用于初始化以及工程树的配置。设置文件的默认名字是 settings.gradle,放在根工程目录下。
设置文件大多数的作用都是为了配置子工程。在 Gradle 多工程是通过工程树表示的,就相当于我们在 Android Studio 看到的 Project 和 Module 概念一样。根工程相当于 Android Studio 中的 Project,一个根工程可以有很多子工程,也就是很多 Module,这样就和 Android Studio 定义的 Module 概念对应上了。