【问题标题】:Is it possible to automatically name a generated APK by version code (and version name) in AndroidStudio?是否可以在 AndroidStudio 中通过版本代码(和版本名称)自动命名生成的 APK?
【发布时间】:2015-03-13 17:12:42
【问题描述】:

我的 AndroidStudio 项目仅通过菜单“Build > Generate signed APK...”生成 app-release.apk 文件。我发现了如何更改“应用程序”以匹配我的应用程序的名称(此处:Why is my APK name generic?),但我仍然想要某种 app-release-X.apk(其中 X 是该 APK 的实际版本代码)。 我读到可以在https://stackoverflow.com/a/27678564/3410474 处修改输出路径,但找不到在其中使用我的版本代码的方法。

如果还可以额外使用版本名称(如1.0)会更好,但版本代码对我来说更重要。

【问题讨论】:

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


【解决方案1】:

在你的 gradle 属性中你可以定义变量

APPLICATION_NAME=Nome
APPLICATION_VERSION_MAJOR=0
APPLICATION_VERSION_MINOR=1
APPLICATION_VERSION_PATCH=0
APPLICATION_VERSION_CODE=10

然后在你的 gradle 中你可以获取这些变量并使用它们来重命名

def appName = project.APPLICATION_NAME
def versionMajor = Integer.parseInt(project.APPLICATION_VERSION_MAJOR)
def versionMinor = Integer.parseInt(project.APPLICATION_VERSION_MINOR)
def versionPatch = Integer.parseInt(project.APPLICATION_VERSION_PATCH)
def versionCode = Integer.parseInt(project.APPLICATION_VERSION_CODE)

android {
   ....

    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def separator = "_"
            def buildType = variant.variantData.variantConfiguration.buildType.name

            def newApkName = appName + separator + versionMajor + separator + versionMinor + separator + versionPatch + separator + versionCode + ".apk"
            output.outputFile = new File(output.outputFile.parent, newApkName)
        }
    }
}

您可以使用 vars 并选择适合您的名称类型

【讨论】:

    猜你喜欢
    • 2019-05-15
    • 1970-01-01
    • 2016-07-12
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多