android - 需要使用不同的APK Version Code,但实际上并没有使用过
问题描述
大约 1 年前,我使用版本代码 10005 发布了我的应用程序。现在我再次使用版本代码 10505 上传,我收到了以下消息:
这是屏幕截图:https ://i.imgur.com/kdOsF7j.jpg (抱歉,我还没有达到 10 名声望才能在此处附加图片。
我在我的代码中搜索了版本代码 10005。甚至那个截图显示 10505 已经被使用了,实际上还没有
我该如何解决这个问题?
这是我的默认配置:
defaultConfig {
/* another */
versionCode codeVersion
versionName "${versionMajor}.${versionMinor}.${versionPatch}-${releaseType}"
/* another */
}
这就是 codeVersion、versionMajor Minor Patch 和 releaseType 的起源:
subprojects {
ext {
def npmVersion = getNpmVersionArray()
versionMajor = npmVersion[0]
versionMinor = npmVersion[1]
versionPatch = npmVersion[2]
codeVersion = npmVersion[3]
releaseType = System.env.RELEASE_TYPE != null ? System.env.RELEASE_TYPE : ''
}
afterEvaluate {project ->
if (project.hasProperty("android")) {
android {
compileSdkVersion 26
buildToolsVersion '26.0.3'
}
}
}
if (project.name.contains('react-native-image-picker')) {
buildscript {
repositories {
jcenter()
maven { url "https://dl.bintray.com/android/android-tools/" }
}
}
}
if (project.name.contains('react-native-vector-icons')) {
buildscript {
repositories {
jcenter()
maven { url "https://dl.bintray.com/android/android-tools/" }
}
}
}
}
def getNpmVersion() {
def inputFile = new File(System.getProperty("user.dir") + "/android/" + "version.json")
def packageJson = new JsonSlurper().parseText(inputFile.text)
return packageJson
}
def getNpmVersionArray() { // major [0], minor [1], patch [2]
def jsonData = getNpmVersion()
def (major, minor, patch) = jsonData["version"].tokenize('.')
def code = jsonData["code"]
def releaseType = System.env.RELEASE_TYPE != null ? System.env.RELEASE_TYPE : ''
println "Building version: ${major}.${minor}.${patch}-${releaseType}; Version code: ${code}"
return [Integer.parseInt(major), Integer.parseInt(minor), Integer.parseInt(patch), Integer.parseInt(code)] as int[]
}
所以实际上流程正在获取这个 version.json:
{
"version": "1.5.5",
"code": "10505"
}
然后用它在 build.gradle 中定义 versionCode 和 versionName
解决方案
推荐阅读
- typescript - 查找两个日期的最小值/最大值(键入)
- vue.js - 登录后已登录状态恢复为 false 并且不允许我保护路由
- python - 从多个 CSV 文件创建 5 个新列
- python - Pandas - 在特定值组的特定条件下将值变为负值
- java - Jpa 存储库特殊词,如“和”、“或”不起作用
- typescript - 收到此错误 - 预期逗号,得到了 Some(Str { value: Atom('./type.ts' type=dynamic), has_escape: false })
- python - Selenium Python 查找按钮
- teradata - 使用 syscalendar 进行 Teradata 查询
- android - Android隐藏键盘自动完成
- javascript - 从 Google Apps 脚本中的函数内部调用函数