当前位置: 首页 > 知识库问答 >
问题:

是否有可能自动命名生成的APK的版本代码(和版本名称)在Android Studio?

苏晓博
2023-03-14

我的AndroidStudio项目只生成应用程序版本。通过菜单“Build”创建apk文件

如果还可以另外使用版本名(比如1.0),那就更好了,但是版本代码对我来说更重要。

共有1个答案

齐宗清
2023-03-14

在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并选择适合您的名称类型

 类似资料:
  • 日安...当对APK进行更改时,当应用程序是在游戏商店或应用商店里,如何使版本代码和版本名称在codenameone中像“Menifest文件”一样,以便现有用户将收到我们的更新。

  • 选择什么-V1签名还是V2?我的应用程序适用于android 4。所以,如果我将使用签名版本V2,我可以在android 4的手机上安装它吗?我知道V2签名是在android 7之后出现的,我认为android 7以上的手机无法安装应用程序,因为V2签名。那么该选择什么呢?我可以同时选择这两个版本吗?如果我同时选择两个签名版本,会怎样?非常感谢。

  • 当我将mvn项目导入Intellij时,它生成的jar文件不包括版本。但是mvn生成的jar具有格式。所以我最终得到了两个jar文件,一个有版本,另一个没有版本。当然,我可以在Intellij设置中更改模块名称以包括版本。但当我更改pom文件时,它将被重置。 也许其他人有更好的主意?

  • 调试生成类型是否与未签名类型相同? 我还尝试添加第二种构建类型,在这种类型中我没有指定签名配置,但是IDE只是抱怨

  • 请至少选择一个在Android Studio 2.3中使用的签名版本 现在,在Android Studio中生成签名APK时,它显示了两个选项(复选框),即1。和2。作为签名APK生成过程最后一步的签名版本。 那么,在新的Android Studio更新中,V1(Jar签名)和V2(完全APK签名)有什么区别呢? 另外,当我使用第二个选项时,我在安装APK时收到错误Install Parse Fa

  • nutz[.模块名]-主版本号.质量级别.[发布序号].jar 模块名 : 可选,如不声明,则表示包括所有功能 主版本号 : 从 1 开始顺序递增,除非程序结构或者接口发生重大改动,否则保持不变 质量级别 : a 表示 alpha 品质, b 表示 beta 品质, r 表示 release 品质 a alpha: 表示这个版本,接口仍然不稳定,每次发布仍然有可能做微小的调整 b beta: 表