我在Play商店发布了一个应用程序。我面临的问题是它看起来像Cordova 6(我刚升级到6.5)已经改变了发布版本的生成。这是我的config.xml
cordova build android --release -- --minSdkVersion=21
我使用以下规则为我的应用构建本机和人行横道构建:
cordova plugin add cordova-plugin-crosswalk-webview && cordova build android --release
android-versionCode="102390" version="1.2.39"
现在,在将cordova升级到6.5后,当我完成构建过程时,将版本更改为1.2.39 ,人行横道版本使用了正确的版本代码102392用于ARM,102394用于x86。 但是,原生版本现在的版本代码为10239
这会导致升级问题,因为我当前的本机代码版本是“102389”,即> “10239”
我尝试在我的config.xml中添加android-versionCode,如下所示:
$ brew install Caskroom/cask/xamarin-studio
然而这导致
如您所见,Xwalk版本的数量远远超过现有的生产版本。 这也不对,因为即使在SDK> = 21 的设备中,Xwalk版本也会优先于原生版本,这是不受欢迎的。我该如何解决这个问题?
核心问题是cordova xwalk构建多个arch文件,版本计算乘以10并添加平台代码。原生版本是作为一个包构建的,不会乘以10.旧版本的cordova似乎已经正确处理了这个。
答案 0 :(得分:0)
我通过为原生构建添加手动版本代码来实现解决方法。我真的不应该这样做。它有效,但我不打算接受这一点,希望我能得到更好的答案。
以下是本机(非XWalk构建)的附加代码
APPVER=`cat config.xml | grep "widget " | sed 's/.* version=\"\([^\"]*\)\" xmlns.*/\1/'`
a=( ${APPVER//./ } )
vcode="$(((a[0]*10000+a[1]*100+a[2])))9"
cordova build android --release -- --minSdkVersion=21 --versionCode=${vcode}