Obecnie pracuję nad projektem Cordova i miałem problem, że 8 zostało tajemniczo dołączone do versionCode mojego projektu. Na przykład: Mój oryginalny kod wersji to 100, nowy kod wersji to 1008Dlaczego Cordova/Phonegap dołącza 8 do mojego kodu wersji Android?
Śledziłem problem przez cały mój build build i znalazłem odpowiedzialny kod w skrypcie Gradle Build.
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
}
}
Nie jestem pewien, dlaczego Cordova uważa, że jest prawidłowa zmiana kodu wersji, a dodatkowo, nie jestem pewien, czy to jest poprawne zachowanie ... nie powinni go dodać numer i nie dołączyć go?
Czy mogę po prostu usunąć odpowiednią sekcję w pliku build.gradle lub czy za tym zachowaniem kryje się jakiś ukryty sens?
To jest miłe. Pomyślałem, że popełniłem błąd, wciąż jest w wersji 6.0.0 –
Wygląda na to, że poprawka została ostatnio niedawno połączona (https://github.com/apache/cordova-android/pull/270) z cordova-android, ale jeszcze nie. wydany (cordova-android 5.1.1 nie ma poprawki) –
To wydaje się być naprawione w Cordova 6.2.0. Jednak teraz, gdy dodatkowa cyfra nie jest już dołączana do kodu wersji, pliki APK, które buduję przy użyciu tej wersji Cordova, zawsze mają mniejszy kod wersji niż poprzednie, a zatem Google Play nie akceptuje tych plików APK. – Ehsan