如何将特定于版本的文件名添加到Cordova .apk

时间:2017-05-30 04:06:02

标签: cordova

Cordova(7.0)中Android版本的默认输出文件是platforms / android / build / outputs / apk / android-debug.apk。

我如何修改它,使它变成myappname-xxx.apk,其中xxx是git describe的输出。

可能相关:How to set versionName in APK filename using gradle?

2 个答案:

答案 0 :(得分:0)

Cordova使用gradle来执行其Android版本。 gradle构建配置位于platforms / android / build.gradle中,但您不应编辑此文件。可以通过向build-extras.gradle添加名为platforms/android/的文件来添加扩展名,如文档here所示。我的项目使用gulp所以我用它来从我项目的源目录中复制它。

build-extras.gradle应包含(source):

def getVersionName = { ->
    try {
        def stdout = new ByteArrayOutputStream()
        exec {
            commandLine 'git', 'describe', '--tags', '--dirty'
            standardOutput = stdout
        }
        return stdout.toString().trim()
    }
    catch (ignored) {
        return null;
    }
}

android {
    buildTypes {
        debug {
            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def file = output.outputFile
                    output.outputFile = new File(file.parent,
                        file.name.replace("android", "myappname")
                            .replace(".apk", "-" + getVersionName() + ".apk"))

                }
            }
        }
    }
}

答案 1 :(得分:0)

以为我会在这里更新答案,以防其他人正在寻找更新的android构建工具。您可以使用之前回答的build-extras.gradle,但脚本应如下所示。

def applicationName = "your-application-name";

android.applicationVariants.all { variant ->
    variant.outputs.all {
        def newApkName
        newApkName = "${applicationName}-${variant.versionName}.apk"
        outputFileName = new File(newApkName)
    }
}