我在 Play 商店中有一个已发布的应用程序。我面临的问题是,看起来 Cordova 6(我刚刚升级到 6.5)已经改变了发布版本的生成。这是我的 config.xml
<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">
我使用以下规则为我的应用程序构建原生和人行横道构建:
- 如果 API 版本 >=21,则安装原生版本
cordova build android --release -- --minSdkVersion=21
- 对于其他版本,安装人行横道版本
cordova plugin add cordova-plugin-crosswalk-webview && cordova build android --release
现在,在将 cordova 升级到 6.5 之后,当我进行构建过程时,将版本更改为 1.2.39,crosswalk版本使用正确的版本代码 102392 用于 ARM 和 102394 用于 x86。但是,本机版本现在具有版本代码 10239
这会导致升级问题,因为我当前的本机代码版本是“102389”,即 >“10239”
我尝试在我的 config.xml 中添加 android-versionCode,如下所示:
android-versionCode="102390" version="1.2.39"
然而,这导致
- Xwalk x86 版本 = 1023904
- Xwalk 手臂版本 = 1023902
- 本机版本 = 102390
如您所见,现在 Xwalk 版本的数量比我现有的生产版本大得多。这也是不对的,因为即使在 SDK >=21 的设备中,Xwalk 版本也会优先于本机版本,这是不可取的。我该如何解决?
核心问题是cordova xwalk构建多个arch文件,版本计算乘以10加上平台代码。本机版本是作为一个包构建的,不会乘以 10。旧版本的 cordova 似乎已经正确处理了这个问题。