1.在Project下面创建buildSrc文件夹

2.在创建好的buildSrc文件夹下创建build.gradle文件,并写入
apply plugin:'java'

3.点击build按钮,等待build完成后,在buildSrc目录下创建src/main/java目录



3.在创建好的java文件夹下创建java Class,命名为MyPlugin


4.将下列代码写入MyPlugin.java
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.tasks.bundling.Zip;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
class MyPlugin implements Plugin<Project>{
@Override
public void apply(Project target) {
target.afterEvaluate(project -> {
System.out.println(project.getTasks().getByName("packageDebug"));
Map<String, Class<?>> type = new HashMap<>();
type.put("type", Zip.class);
Zip zipDebug2 = (Zip) target.task(type, "zipDebug2");
zipDebug2.setArchiveName("output4.zip");
zipDebug2.setDestinationDir(new File(target.getBuildDir().getAbsolutePath()+"/custom"));
zipDebug2.from(target.getTasks().getByName("packageDebug").getOutputs().getFiles());
});
}
}

5.在app/build.gradle这个文件写入
apply plugin: MyPlugin

6.运行我们在MyPlugin这个Class中定义的zipDebug2,即可生成最终的zip文件
注意:写完代码后,一定要在控制终端敲入命令运行zipDebug这个自定义的task,点击build按钮或者Rebuild是无法生成最终的zip文件的


本文详细指导如何在Gradle中创建并应用自定义插件MyPlugin,通过其实现定制化的打包过程,生成指定名称和路径的ZIP文件。步骤包括设置buildSrc结构、编写插件类并应用到app模块上。

2939

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



