当通过 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
中的所有内容,然后会立即开始编译并 运行 安装您的应用程序。
我有一个生成带有自定义名称的 .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
中的所有内容,然后会立即开始编译并 运行 安装您的应用程序。