Я публикую свое приложение около 1 года назад с кодом версии 10005. И теперь я загружаю снова с кодом версии 10505, и я получил это сообщение:
это скриншот: https://i.imgur.com/kdOsF7j.jpg
(извините, я не набрал 10 репутаций, чтобы иметь возможность прикрепить изображение здесь.
Я искал код версии 10005 в моем коде. И даже этот скриншот показывает, что 10505 уже используется, а на самом деле не имеет
Как я могу решить это?
это моя конфигурация по умолчанию:
defaultConfig {
/* another */
versionCode codeVersion
versionName "${versionMajor}.${versionMinor}.${versionPatch}-${releaseType}"
/* another */
}
А вот что такое codeVersion, версия Major Minor Patch и releaseType origin:
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[]
}
Так что на самом деле поток выбирает эту версию. Json:
{
"version": "1.5.5",
"code": "10505"
}
А затем использовать его для определения versionCode и versionName в build.gradle