IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android 打包aar并删除或移动指定文件 -> 正文阅读

[移动开发]Android 打包aar并删除或移动指定文件

前言

最近在给一个客户做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打包的简单删除和移动文件,希望能对你有所帮助。
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-21 15:35:19  更:2021-08-21 15:37:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/19 5:09:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码