Android 打包aar并删除或移动指定文件

本文记录了在SDK开发中如何使用gradle任务来打包aar,并删除或移动指定文件,如去除R.txt,重命名并移动class.jar到libs目录下。通过定义新的task,实现了aar的解压、文件操作和重新打包过程。
摘要由CSDN通过智能技术生成

前言

最近在给一个客户做SDK开发,客户交付的aar要求比较多,比如去掉R.txt文件了,把class.jar改名为我们公司前缀名并移动到libs下,网上查了好多方法都不好用,终于还是找到一个可行的方法,在这里记录一下打包过程。

注:该打包方法用的是gradle中task的copy和zip。

首先我们定义一个task并依赖于’assemble’,将自动打包出来的aar解压到指定文件夹下,在文件夹中直接对文件进行删除和移动操作。

task renameExtractAar(dependsOn: 'assemble', type: Copy) {
    outputs.upToDateWhen { false }
    println(project.buildDir.getAbsolutePath())
    File processAarFile = new File(project.buildDir, "outputs/aar/自动成功的aar名称-release.aar")
    File workDir = new File(project.buildDir, "outputs/aar/workDir")

	//解压到指定的文件夹下
    from zipTree(processAarFile)
    into workDir

    doFirst {
        if (workDir.exists()) {
            workDir.deleteDir()
        }
    }

    doLast {
        //将classes.jar重命名并移动到libs目录下
        File classesJar = new File(workDir, "classes.jar")
        File renameJar = new File(workDir, "libs/重命名后的.jar")

        classesJar.renameTo(renameJar)

        //去除R.txt文件
        File rTxt = new File(workDir, "R.txt")
        rTxt.delete()
    }
}

第二步就是重新压缩文件夹为aar了,我们依旧新建一个task依赖于上一个task,然后将文件夹下的文件重新打包为aar,并可以重命名,指定输出路径。

task outAar(dependsOn: renameExtractAar, type: Zip) {
    outputs.upToDateWhen { false }

	//aar输出路径
    File aarDir = new File(project.buildDir, "outputs/aar")
    //aar源文件夹
    File workDir = new File(aarDir, "workDir")

    from workDir
    //重命名AAR
    archiveName "文件名.aar"
    destinationDir aarDir
}

最后我们只要运行最后一个task就大功告成了。

参考文章:ANDROID STUDIO 打包时动态修改AAR 包名称

总结

以上就是今天要讲的内容,本文仅仅介绍了Android AAR打包的简单删除和移动文件,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值