You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio生成自定义命名APK时自动清理旧APK方案咨询

解决方案:自动清理旧APK,仅保留最新版本

我来给你两个实用的方案,帮你实现打包后自动清理outputs/apk/debug/目录里的旧APK,只留下最新生成的那个:

方案1:自定义Gradle任务,绑定打包流程

你可以在Module级的build.gradle文件中添加一个自定义任务,让它在Debug包打包完成后自动执行清理操作。具体代码如下:

// 工具方法:获取目录下最新的APK文件
def getLatestApk(File dir) {
    if (!dir.exists()) return null
    // 筛选APK文件,按最后修改时间倒序排序,取第一个就是最新的
    return dir.listFiles().findAll { it.name.endsWith('.apk') }
        .sort { -it.lastModified() }
        .first()
}

// 定义清理旧APK的任务
task cleanOldApks(type: Delete) {
    doFirst {
        def apkDir = file("${project.buildDir}/outputs/apk/debug/")
        def latestApk = getLatestApk(apkDir)
        if (latestApk) {
            // 删除除最新APK外的所有APK文件
            delete apkDir.listFiles().findAll { it.name.endsWith('.apk') && it != latestApk }
            println "已完成旧APK清理,仅保留最新文件:${latestApk.name}"
        } else {
            println "目标目录中没有APK文件,无需清理"
        }
    }
}

// 让清理任务在Debug打包任务完成后自动执行
assembleDebug.finalizedBy cleanOldApks

这个方案的优势是完全贴合你的打包流程,每次执行assembleDebug后都会自动清理,不需要额外手动操作。如果是Release包,只需要把assembleDebug换成assembleRelease,目录路径改成outputs/apk/release/即可。

方案2:扩展Gradle原生clean任务(可选)

如果你希望执行clean任务时,既能清理大部分构建文件,又能保留最新的APK,可以扩展原生的clean任务:

// 先复用上面的getLatestApk方法
def getLatestApk(File dir) {
    if (!dir.exists()) return null
    return dir.listFiles().findAll { it.name.endsWith('.apk') }
        .sort { -it.lastModified() }
        .first()
}

clean.doLast {
    def apkDir = file("${project.buildDir}/outputs/apk/debug/")
    def latestApk = getLatestApk(apkDir)
    if (latestApk) {
        // 先删除所有APK,再把最新的复制回目录
        delete apkDir.listFiles().findAll { it.name.endsWith('.apk') }
        copy {
            from latestApk
            into apkDir
        }
        println "执行clean后已恢复最新APK:${latestApk.name}"
    }
}

这个方案适合需要定期清理构建缓存,但又不想丢失最新APK的场景。

注意事项

  • 确保你的Android Gradle Plugin版本在3.0以上(目前主流项目都满足这个条件)。
  • 测试时可以先手动生成2-3个不同时间戳的APK,然后执行./gradlew assembleDebug,检查目录是否只保留最新的那个文件。

内容的提问来源于stack exchange,提问作者袛屑懈褌褉芯 携泻芯胁谢褦胁

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:45:17