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"而不是output.json文件中所示的“ 2”。

我的CI设置依赖于输出文件内容来从那里获取应用程序版本,因此这基本上使我生成了错误的文件名。

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

谢谢

解决方法

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

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

可以检查当前版本here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...