【Android Gradle 插件】Module 目录下 build.gradle 配置文件 ( plugins 闭包代码块中引入插件 | PluginAware#apply 方法引入插件 )

2023-03-30 11:18:08 浏览数 (2)

文章目录

  • 一、Module 目录下 build.gradle 配置文件

    • 1、plugins 闭包代码块中引入插件
    • 2、PluginAware#apply 方法引入插件

Android Plugin DSL Reference 参考文档 : https://google.github.io/android-gradle-dsl/2.3/

一、Module 目录下 build.gradle 配置文件


1、plugins 闭包代码块中引入插件

在 Module 目录下的 build.gradle 中 , 首先引入插件 :

代码语言:javascript复制
plugins {
    id 'com.android.application'
}

此处调用了 PluginDependenciesSpec 中的 id 方法 , 方法原型如下 , 该 id 方法 , 接收一个 String 参数 , 在闭包中配置要引入的插件 ;

id 方法原型 :

代码语言:javascript复制
/**
 * 用于声明要在脚本中使用的插件的DSL。
 * <p>
 * 在构建脚本中,<code>plugins {}</code>脚本块API就是这种类型的。
 * 也就是说,您可以在plugins脚本块的主体中使用这个API来声明要用于脚本的插件。
 */
public interface PluginDependenciesSpec {

    /**
     * 在具有给定id的插件上添加依赖项。
     *
     * <pre>
     * plugins {
     *     id "org.company.myplugin"
     * }
     * </pre>
     *
     * 这对于重用插件中的任务类或将其应用于当前脚本以外的其他目标非常有用。
     *
     * @param id 要依赖的插件的id
     * @return 一个可变插件依赖项规范,可用于进一步细化依赖项
     */
    PluginDependencySpec id(String id);
}

闭包中配置插件的格式为 id 插件名称

代码语言:javascript复制
id 'com.android.application'

2、PluginAware#apply 方法引入插件

还有一种引入插件的方式就是使用

代码语言:javascript复制
apply plugin: 'com.android.application'

代码 , 调用的是 PluginAware 接口的 apply 方法 , 传入一个 Map 集合作为参数 ;

代码语言:javascript复制
public interface PluginAware {
    void apply(Map<String, ?> var1);
}

Lsn13 17.56

0 人点赞