引言
每一个使用 Gradle
的同学,肯定都听过或者写过插件,因为其本身并不难,但碍于现在网上的文章千篇一律,大部分都比较老,新同学一上手反而是和我一样,花了大把时间在最基础的第一步如何写一个简单demo上。再者如果大家使用 AndroidStudio BumBlebee 去创建项目,那对照网上教程差别更大,甚是花费时间,而本篇就是帮你省掉这些时间。
本篇主要概括创建插件的三种方式,并如何上传到 JitPack
中。
- 开发环境基于最新的 Gradle7.0.4 , AndroidStudio BumBlebee ;
- 本文相关示例代码,github
什么是插件?
在 Gradle
中,插件相当于打包了可重用的一些构建片段,使其可复用为多个项目去构建。如下所示:
// 新版写法
plugins {
id 'com.android.application'
}
// 旧版写法
apply plugin: 'com.android.library'
上述就是我们最常见的两个插件,比如当我们在创建一个 android-model 时,就会自动添加相应的 library
插件,这些插件的工作就是帮我们把一些重复的工作或者代码,以一句代码的形式引入,极大程度上减少了我们的代码量。
在 Gradle
中,我们可以使用 Java
,Kotlin
以及 Groovy
来写自己的插件,一般而言,使用 Java
和 Koltin
要比使用 Groovy
的执行效果会更好。题外话: 写法上,Java
与 kotlin
也更符合开发习惯。
插件的用途有哪些?
插件的作用就是添加我们自己的一些逻辑到项目执行过程中,这个做法在 Gradle
中称其为任务,或者说 Task
,从而对项目进行测试、编译、打包等;
也可以对项目中现有的对象类型添加新的扩展属性、方法等、也可以配置和优化项目的构建,比如常见的 android{}
就是 Android Gradle
插件为 Project
对象添加的一个扩展。
日常开发中,我们还有很多插件会在开发中见到,比如 didibooster
的插件,阿里路由插件,一些第三方的打点插件等。
有一个比较有意思的问题,我觉得你可能会有?
这些插件一般还要在model中再依赖其他组件,如果我只用代码组件,而不启用这些插件,那还能正常使用吗?
其实一般情况下,不影响你在开发中正常使用,一个
合格
的三方库,在插件没启用时也不会影响最终的使用效果,