用建筑时间重命名APK不运行

时间:2016-01-11 13:05:25

标签: android android-studio android-gradle apk build.gradle

我在模块的build.gradle文件中使用此代码重命名输出APK

android.applicationVariants.all { variant ->
            variant.outputs.each { output ->
                def file = output.outputFile
                def formattedDate = new Date().format('yyyy_MM_dd_HH_mm')
                output.outputFile = new File(file.parent, file.name.replace(".apk",
                        "-" + formattedDate + ".apk"))
            }
        }

当我按"运行"时,我在这里收到APK build/outputs/apk/app-debug-2016_01_11_13_23.apk并在运行控制台中收到错误:

The APK file .../build/outputs/apk/app-debug-2016_01_11_13_21.apk does not exist on disk.

每当我按下"运行"时,我会在/build/outputs/apk/文件夹中收到新的APK,但错误是相同的。看起来Android Studio使用应用程序名称的旧值。

我使用此运行配置: enter image description here

随意提出任何建议。

1 个答案:

答案 0 :(得分:1)

看起来android studio的当前版本1.5.1中有bug。 我和你有同样的问题,但我只想重命名发布apk。

所以我最终得到了这个快速解决方法,只有当所选的signinConfig是第一个版本时才重命名apk:

android.applicationVariants.all { variant ->
    if (variant.buildType.signingConfig.getName() == android.signingConfigs.release.getName()) {
        variant.outputs.each { output ->
            def file = output.outputFile
            def formattedDate = new Date().format('yyyy_MM_dd_HH_mm')
            output.outputFile = new File(file.parent, file.name.replace(".apk",
                    "-" + formattedDate + ".apk"))
        }
    }
}

所有调试版本都具有相同的名称,因此如果Android Studio在将apk名称上传到设备之前刷新有困难并不重要