android - 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 设置依赖于输出文件内容从那里获取应用程序版本,所以这基本上会导致我生成错误的文件名。
我想知道是否有人遇到过类似的问题,您是如何解决的?
谢谢
解决方案
这是 android gradle 插件 4.0.0 的问题。更新 gradle 插件版本
classpath 'com.android.tools.build:gradle:4.0.2' // currently 4.1.0 might also apply
当前版本可以在这里查看
推荐阅读
- javascript - 如何在锚标签点击下载图像文件而不在新标签中打开图像?
- c - 读取特定格式的字符串
- r - 格式化 y 轴数字
- distributed-computing - PAXOS 算法共识之谜
- bash - 将getopts选项自动解析为bash中同名的动态变量
- python - Jupyter Notebook 内核一直很忙
- java - 创建拍卖清单 (java)
- c# - Application.Current.Dispatcher.BeginInvoke(action) VS。Application.Current.Dispatcher.Invoke(action) (WPF)
- sharepoint - SharePoint 2013 CSOM 上传文档和更改列值
- r - 如何将变量值重置为 0 作为起点?