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

时间:2018-05-31 14:47:51

标签: android gradle android-studio-3.0

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

<{1>}文件中的

gradle

并申请名称:

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

它工作正常,但所有生成的文件都有唯一的名称,不会从defaultConfig { archivesBaseName = "CUSTOM_NAME_$versionName" + getTimestamp() } 文件夹中删除。 你能否提出一种方法来自动清理这个文件夹。我希望只有最新文件始终保留在文件夹中。感谢

1 个答案:

答案 0 :(得分:2)

是的,有一种方法可以实现自动化。

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

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

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

之后,您需要配置Android Studio以在运行应用程序之前执行此任务。为此,请在Android Studio上单击默认构建,然后单击&#34;编辑配置...&#34;

enter image description here

然后,在执行Gradle Task

之前添加新内容

enter image description here

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

enter image description here

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

enter image description here

选择任务,然后按确定。然后,您将在底部容器中执行新任务。您需要做的最后一件事是将其移至三个任务的顶部,如图所示:

enter image description here

按&#34;应用&#34;,&#34;确定&#34;,然后运行您的应用。首先删除outputs/apk/debug中的所有内容,然后立即开始编译并运行您的应用。