Android打包编译时删除class文件

本文介绍了在Android项目中如何在gradle编译时期删除class文件。提供了两种方法:一是自定义gradle插件并在远程仓库发布;二是直接在app的gradle文件中创建task,确保在class转为dex前执行删除操作。此外,还提到了使用Transform API创建自定义插件,简化删除过程,并给出了添加transform-api依赖的步骤。
摘要由CSDN通过智能技术生成

    在做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
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值