Gradle Plugin入门使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle Plugin入门使用相关的知识,希望对你有一定的参考价值。

参考技术A 为了将构建脚本的逻辑封装到插件中,Gradle 需要做以下两件事: 处理插件 , 应用插件到目标中 。

按照以下的步骤来创建一个简单的插件工程吧:

好了,通过上面几个步骤,就可以创建一个简单的 Gradle Plugin 工程了,但是回想一下,我们新建一个工程之后,在 build.gradle 中,Gradle 会帮我们引用 Android 插件 apply plugin: 'com.android.application' ,它们引用方式就跟我们上面引用方式是不一样哦。

这里其实是给我们的 Plugin 起了个别名,然后在外部就是用这个别名来引用。接下来我们通过源码来看看'com.android.application'`是怎么定义的?

【举例】Gradle Android Plugin 中定义了一个叫 AppPlugin 的插件,这个插件是 Gradle 插件对 Android 的扩展,内部定义 Android 相关的一些东西,例如 我们所熟知 android 内部的东西都是属于 Gradle 插件对 Android 的扩展。详细的内容可以参考另一篇博客: 从源码角度分析 Gradle 插件对 Android 的扩展

而这个 AppPlugin 就是 build.gradle 引入 apply plugin: 'com.android.application' ,查看源码,这个别名是定义在一个 文件名 上的,文件内容对这个 AppPlugin 的映射关系。

那么我们依样画葫芦,我们也来定义一下我们插件的别名吧:

好了,就这样,我们也可以像引用 Android Gradle Plugin ID 一样来引用我们自己的插件咯。

什么是扩展插件?

【举例】我们想在 build.gradle 中通过配置 Extension 相关的属性 ,然后将 Extension 这个对象传递给我们自定义的 Plugin。

下面我们还是基于 PluginTest 这个插件来定义一个简单的插件扩展。

我这里定义的是 Groovy Bean (跟 Java Bean 类似),内部定义一个 message 变量。

//build.gradle

插件扩展在 Project 和 Plugin 之前传递数据如图所示

以上是关于Gradle Plugin入门使用的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio Gradle Plugin开发入门指南

android gradle plugin开发 入门 搭建 小白级入门

android gradle plugin开发 入门 搭建 小白级入门

Gradle的快速入门

自定义Gradle Plugin入门——Git仓库管理插件

Gradle学习系列之一——Gradle快速入门