Ich habe eine veröffentlichte App im Play Store. Das Problem, mit dem ich konfrontiert bin, ist, dass es so aussieht, als ob Cordova 6 (ich habe gerade auf 6.5 aktualisiert) die Release-Version-Generation geändert hat. Hier ist meine config.xmlCordova 6 Android-Version Ausgaben
<widget android-packageName="com.myapp" id="com.myapp" ios-CFBundleIdentifier="com.myapp" version="1.2.38" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
ich bauen sowohl native als auch Überweg baut für meine Anwendung mit den folgenden Regeln:
- wenn API-Version> = 21, installieren Sie native Version
cordova build android --release -- --minSdkVersion=21
- Für andere Versionen, Überweg Version
cordova plugin add cordova-plugin-crosswalk-webview && cordova build android --release
Hier ist der Versionscode meiner veröffentlichten Apps installieren: Jetzt
nach cordova auf 6,5 Upgrade, wenn ich meine Build-Prozess haben, Wechsel Version 1.2.39 die Überweg Versionen verwendet, um die richtige Version Code 102392 für ARM und 102394 für x86. jedoch die native Version hat nun den Versionscode 10239
Dies verursacht ein Upgrade Problem, weil meine aktuelle nativen Code Version "102389" ist, das ist> "10239"
Ich habe versucht, das Hinzufügen android-version in meinem config.xml wie folgt aus:
android-versionCode="102390" version="1.2.39"
Dies jedoch führt zu
- Xwalk x86 version = 1.023.904
- Xwalk Arm version = 1023902
- native Version = 102390
Wie Sie die Xwalk Versionen haben jetzt eine viel größere Anzahl als meine bestehende Produktion baut sehen. Das ist auch nicht richtig, denn die Xwalk-Versionen werden gegenüber der nativen Version sogar in Geräten mit SDK> = 21 Vorrang haben, was unerwünscht ist. Wie behebe ich das?
Das Kernproblem ist, dass Cordova Xwalk mehrere Arch-Dateien erstellt und die Versionsberechnung mit 10 multipliziert und der Plattformcode hinzugefügt wird. Die native Version ist als ein Paket aufgebaut und wird nicht mit 10 multipliziert. Ältere Versionen von cordova haben das anscheinend korrekt gehandhabt.