自定义 Gradle 插件

  • Post author:
  • Post category:其他


Android 中许多优秀的开源框架都会自定义 Gradle 插件,比如,热修复的

Tinker

所以,这篇文章记录 Android Studio 中如何自定义 Gradle 插件。

Gradle

Gradle 是个的构建工具,也是Android Studio 默认的构建工具,与传统的 Ant 、maven 相比,Gradle 更加强大。利用 Gradle 这个工具,我们能做很多事情,例如热修复、插件化等等。

当然,这篇文章不会将具体的 Gradle 语法,这篇文章只会记录如何创建一个Gradle 插件。

如果你想彻底理解并应用 Gradle ,推荐看这系列文章

Gradle for Android

Gradle 插件是使用 Groovy 语言进行开发的,而 Groovy 是可以兼容 Java 的。Android Studio 除了开发 APP 外,完全可以开发 Gradle 插件。

插件开发

现在来说下,详细的 Gradle 插件开发步骤:

  1. 新建一个项目

  2. 再新建一个 Module,此 Module 用于开发插件,类型选什么都无所谓,后面会大改。

  3. 在 Project 目录视图模式下,清空 build.gradle 文件的内容,删除其余的所有文件。

  4. 然后在 module 中新建多个文件夹

    src/main/groovy

    ,再新建包名文件夹。 在 main 目录下再新建

    resources

    目录,在

    resources

    目录下再新建

    META-INF

    文件夹,再新建文件夹

    gradle-plugins

    ,这样就完成了 gradle 插件的目录结构搭建,整个目录结构如下。

  5. 打开

    build.gralde

    文件,替换全部内容

    apply plugin: 'groovy'
    apply plugin: 'maven'
    
    dependencies {
       compile gradleApi() //gradle sdk
       compile localGroovy() //groovy sdk
    }
    
    repositories {
       jcenter()
    }
  6. 现在,就可以来正式写插件内容了。在刚刚新建的包名下 再次新建一个文件

    MyPlugin.groovy

    ,注意文件类型,一定是

    groovy

    类型文件,刚开始没注意,直到出了问题,排查时,打开本地文件才发现文件没有后缀名称。

    package com.app.plugin
    
    import org.gradle.api.Plugin
    import org.gradle.api.Project
    
    public class MyPlugin implements Plugin<Project> {
         
    
     void apply(Project project) {
       def log = project.logger
    



版权声明:本文为Deemons原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。