Gradle Plugins基本使用方法

Gradle Plugins

一、plugin 的基本写法

  1. 直接在build.gradle 中,声明一个Groovy 类继承 Plugin,并执行该任务

    class MyTask implements Plugin<Project> {
        @Override
        void apply(Project project) {
            println 'hello'
        }
    }
    apply plugin: MyTask
    
  2. 使用跟build.gradle 中的 android 一样声明属性

    android {
        compileSdk 31
    }
    
    • 2.1 定义一个 User 类,并声明一个属性

      class User {
          def name = "cx"
      }
      
    • 2.2 修改 MyTask 代码

      class MyTask implements Plugin<Project> {
          @Override
          void apply(Project project) {
              def extension = project.extensions.create("user", User)
              project.afterEvaluate {
                  println "hello ${extension.name}"
              }
              println 'hello'
          }
      }
      
      
    • 2.3 就可以类似于 android 标签一样来给属性赋值,这里的标签名称和 project.extensions.create(“user”, User) 中的第一个参数保持一致

      user {
          name "wangkai"
      }
      
    • 2.4 执行任务,输出 ‘hello wangkai’

      apply plugin: MyTask
      
  3. 完整代码

    class MyTask implements Plugin<Project> {
        @Override
        void apply(Project project) {
            def extension = project.extensions.create("user", User)
            project.afterEvaluate {
                println "hello${extension.name}"
            }
            println 'hello'
        }
    }
    
    apply plugin: MyTask
    user {
        name "wangkai"
    }
    
    class User {
        def name = "cx"
    }
    

二、写在 buildSrc 中

  1. 新建 buildSrc Module,并删除 setting.gradle 下的 include ‘:buildSrc’
    在这里插入图片描述

  2. 更改buildSrc 中的目录结构,如下
    在这里插入图片描述

  3. 在app 的 build.gradle 中使用插件名称调用任务

    apply plugin: 'com.cx.plugindemo'
    
    user {
        name "AAAAA"
    }
    
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值