在做Android项目时有的时候要在gradle编译时期需要修改编译产物或者在task之前插入自己的task,有两种方案可以,第一种可以自己写一个gradle插件,然后引用自己的插件,这种方式还可以将写好的插件推到远程仓库;第二种直接在app的gradle中写创建task然后进行task依赖就可以。
删除生成的class文件需要对gradled的打包流程有所了解,需要在class到dex之前将其删除掉。过程很简单在app的android块中创建task
project.afterEvaluate { project.tasks.create(name: "自己的taskName", group: "分组的名称") doLast { def fileName = "/Users/catkin/Desktop/worksapcefordemo/XFrameWork/app/build" + "/intermediates/classes/debug/catkin/com/xxx.class" project.logger.log(LogLevel.ERROR, "fileName = " + fileName) File file = new File(fileName) if (!file.exists()) { assert "文件不存在" } file.delete() } def taskName = "compileDebugJavaWithJavac" def taskA = project.tasks.findByName(taskName)
taskA.dependsOn(taskName)
def generate