当通过 Android studio 生成新的 .apk 时,从输出文件夹中删除旧的 .apk

Delete old .apk from outputs folder when new .apk is generated via Android studio

我有一个生成带有自定义名称的 .apk 的功能。 (应用程序名称 + 日期 + 时间)

gradle 文件中

def getTimestamp() {
    def date = new Date()
    return date.format('_dd-yyyy-MM_HH-mm')
}

并申请姓名:

defaultConfig {
    archivesBaseName = "CUSTOM_NAME_$versionName" + getTimestamp()
}

它工作正常,但所有生成的文件都有一个唯一的名称,并且不会从 outputs/apk/debug/ 文件夹中删除。 您能否提出一种自动清理此文件夹的方法。我希望只有最新的文件始终保留在文件夹中。谢谢

是的,有一种方法可以自动执行此操作。

第一步是创建一个 Gradle 任务来清理输出目录:

task cleanOutputDir(type: Delete) {
   delete fileTree(dir: "build/outputs/apk/debug/")
}

在继续之前不要忘记同步 Gradle

之后,您需要配置 Android Studio 以在 运行 应用程序之前执行此任务。为此,请单击 Android Studio 顶部的默认构建,然后单击 "Edit Configurations..."

然后,在执行之前添加一个新的Gradle Task:

您将看到一个要求 task 配置的对话框,如下所示:

选择你的项目和模块(我有3个,通常只有一个),然后开始输入你的Gradle Task:

Select 任务并按确定。然后你将在底部容器中有一个新任务。你需要做的最后一件事是将它移到三个任务的顶部,如图所示:

按 "Apply"、"Ok",然后 运行 您的应用。首先会删除 outputs/apk/debug 中的所有内容,然后会立即开始编译并 运行 安装您的应用程序。