• Android Gradle三种自定义插件方式详解(含报错解决方案)


    Gradle是什么?

    • Gradle是一个自动化构建开源工具。
    • Gradle运行在JVM中,执行Gradle就相当于开启了一个Java程序。

    创建Gradle的三种方式

     方式一:Build script脚本方式

    1. apply plugin: MyPlugin
    2. class MyPlugin implements Plugin<Project>{
    3. @Override
    4. void apply(Project project) {
    5. println "this is my plugin"
    6. }
    7. }

    运行结果:

    方式二:buildSrc目录

    1、新建一个 buildSrc 文件夹

    2、新建一个 build.gradle 文件,里面添加如下代码,然后点击 sync now,你就会发现 buildSrc 文件夹多了一个绿标

    1. apply plugin: "java"
    2. apply plugin: 'java-gradle-plugin'

     3、新建子目录 src/main/java ,并编写一个插件类

    1. import org.gradle.api.Plugin;
    2. import org.gradle.api.Project;
    3. public class MyPlugin implements Plugin<Project> {
    4. @Override
    5. public void apply(Project project) {
    6. }
    7. }

    4、在app下的build.gradle里面应用

    运行结果展示:

    方式三:独立项目

    1、新建一个独立的module,不要选错了!!!,

    2、在该模块下的build.gradle里添加依赖

    1. dependencies {
    2. implementation gradleApi()
    3. }

    可能出现的报错 Build was configured to prefer settings repositories over project repositories but repository 'Gradle Libs' was added by unknown code

    解决方法:

     3、编写插件类

    1. package com.example.secondplugin;
    2. import org.gradle.api.Plugin;
    3. import org.gradle.api.Project;
    4. public class MyClass implements Plugin<Project> {
    5. @Override
    6. public void apply(Project project) {
    7. System.out.println("this is third plugin");
    8. }
    9. }

    4、 编写插件配置文件

    层级结构不能错

    5、发布插件任务代码的编写

    groupId、artifactId、version根据自己实际情况来写

    如果有小伙伴没找到task视图,解决方法如下:

    6、点击如下按钮,发布到本地仓库

    7、使用

    运行效果:

     

     

     

     

     

     

     

     

  • 相关阅读:
    Pytorch:使用data_prefetcher提升数据读取速度【自动将训练数据移动到GPU】
    通讯协议介绍&CoAP 协议解析
    抓包整理外篇——————状态栏[ 四]
    几个事件的问题
    Activiti 工作流引擎 详解
    mybatis嵌套查询子集合只有一条数据
    Java并发编程的艺术总结(1)
    你的RPCvs佬的RPC
    如何开发一款高效便捷的搬家服务小程序
    【无人机】基于A星算法解决无人机二维路径规划问题含matlab代码
  • 原文地址:https://blog.csdn.net/qq_41885673/article/details/125487018