首页 > 解决方案 > Output.json 将应用版本代码显示为版本名称

问题描述

当运行assembleProdRelease生成 APK 和输出文件时,我得到了一些我无法解释的奇怪东西(我的应用程序有一种prod风格和release构建类型)。

output.json文件实际上将版本代码显示为版本名称,见下文

{
  "version": 1,
  "artifactType": {
    "type": "APK",
    "kind": "Directory"
  },
  "applicationId": "com.example.myapp",
  "variantName": "prodDebug",
  "elements": [
    {
      "type": "SINGLE",
      "filters": [],
      "properties": [],
      "versionCode": 2,
      "versionName": "2",
      "enabled": true,
      "outputFile": "app-prod-debug.apk"
    }
  ]
}

我的构建 gradle(它在 Kotlin kts 中)非常标准:

defaultConfig {
        applicationId = "com.example.myapp"
        minSdkVersion(24)
        targetSdkVersion(29)
        versionName = "1.0.0"
        versionCode = 2
    }

我希望"versionName": "1.0.0"而不是文件中显示的“2” output.json

我的 CI 设置依赖于输出文件内容从那里获取应用程序版本,所以这基本上会导致我生成错误的文件名。

我想知道是否有人遇到过类似的问题,您是如何解决的?

谢谢

标签: androidgradleapkandroid-build

解决方案


这是 android gradle 插件 4.0.0 的问题。更新 gradle 插件版本

classpath 'com.android.tools.build:gradle:4.0.2' // currently 4.1.0 might also apply

当前版本可以在这里查看


推荐阅读