引言
每一个使用 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中再依赖其他组件,如果我只用代码组件,而不启用这些插件,那还能正常使用吗?其实一般情况下,不影响你在开发中正常使用,一个
合格的三方库,在插件没启用时也不会影响最终的使用效果,无非就是最终的实现方式上会有所差别,比如性能上。类似阿里路由插件,如果不启用插件,只依赖代码组件

本文详细介绍了如何在Gradle中创建自定义插件,包括脚本插件、buildSrc目录下的插件以及独立项目形式的插件。同时,文章还讲解了如何将Gradle插件上传到JitPack,以便在多个项目中复用。文中以最新的Gradle 7.0.4和Android Studio Bumblebee为开发环境,提供了清晰的步骤和示例代码。
最低0.47元/天 解锁文章
1475

被折叠的 条评论
为什么被折叠?



