我目前正在研究一个Cordova项目,并且遇到了8个问题被神秘地附加到了我的项目的versionCode中。例如:我的原始版本的代码是100,新版本的代码是1008为什么Cordova/Phonegap将8添加到我的Android版本代码中?
我通过我的整个构建流水线跟踪的问题,同时发现在摇篮负责代码生成脚本。
if (Boolean.valueOf(cdvBuildMultipleApks)) {
productFlavors {
armv7 {
versionCode cdvVersionCode ?: defaultConfig.versionCode + 2
ndk {
abiFilters "armeabi-v7a", ""
}
}
x86 {
versionCode cdvVersionCode ?: defaultConfig.versionCode + 4
ndk {
abiFilters "x86", ""
}
}
all {
ndk {
abiFilters "all", ""
}
}
}
} else if (!cdvVersionCode) {
def minSdkVersion = cdvMinSdkVersion ?: privateHelpers.extractIntFromManifest("minSdkVersion")
// Vary versionCode by the two most common API levels:
// 14 is ICS, which is the lowest API level for many apps.
// 20 is Lollipop, which is the lowest API level for the updatable system webview.
if (minSdkVersion >= 20) {
defaultConfig.versionCode += 9
} else if (minSdkVersion >= 14) {
defaultConfig.versionCode += 8
}
}
我不知道为什么科尔多瓦认为这是正确的,以改变我的版本代码,另外,我不知道这行为是正确的......不应该把它添加数量,而不是追加了吗?
我可以只删除build.gradle中的相应部分,或者是否存在此行为背后的隐藏感?
这很好。我认为我犯了一个错误,它仍然在6.0.0 –
最近似乎修复是[最近合并](https://github.com/apache/cordova-android/pull/270)到cordova-android,但还没有发布(cordova-android 5.1.1没有修复) –
这似乎是在Cordova 6.2.0中修复的。但是,现在多余的数字不再附加到版本代码,我使用此版本的Cordova构建的APK版本代码总是比以前版本代码小,因此谷歌播放不接受这些APK。 – Ehsan