私は現在Cordovaプロジェクトに取り組んでおり、私のプロジェクトのversionCodeに8が不思議に追加されてしまうという問題がありました。例えば:私のオリジナルバージョンのコードは100だった、新しいバージョンのコードは1008なぜCordova/PhonegapはAndroidバージョンコードに8を追加しますか?
である私は私の全体のビルドパイプラインを通じて問題を追跡して、スクリプトを作成しGradleの中で責任あるコードを発見しました。
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 5.1.1には修正がありません) –
これはCordova 6.2.0で修正されているようです。しかし、これ以上の数字がバージョンコードに追加されなくなったので、このバージョンのCordovaを使用して作成したAPKは、以前のバージョンよりもバージョンコードが小さいため、Google PlayはこれらのAPKを受け入れません。 – Ehsan