[英]Cordova 6 android version issues
我在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">
我使用以下规则为我的应用程序构建本机构建和人行横道构建:
cordova build android --release -- --minSdkVersion=21
cordova plugin add cordova-plugin-crosswalk-webview && cordova build android --release
现在,在将cordova升级到6.5之后,当我执行构建过程时, 将版本更改为1.2.39 ,人行横道版本对ARM使用了正确的版本代码102392,对于x86使用了正确的代码102394。 但是,本机版本现在具有版本代码10239
这会导致升级问题,因为我当前的本机代码版本是“ 102389”,即>“ 10239”
我试图像这样在我的config.xml中添加android-versionCode:
android-versionCode="102390" version="1.2.39"
但是这导致
如您所见,Xwalk版本现在的数量比我现有的生产版本大得多。 这也不对,因为即使在SDK> = 21的设备中,Xwalk版本也会优先于本机版本,这是不希望的。 我该如何解决?
核心问题是cordova xwalk会构建多个arch文件,并且版本计算将乘以10,并添加平台代码。 本机版本是作为一个程序包构建的,不会乘以10。老版本的cordova似乎已正确处理了此问题。
我已经通过添加仅用于本机版本的手动版本代码来实现了变通方法。 我真的不必这样做。 它可以工作,但我不会将其标记为已接受,希望我能得到更好的答案。
这是本机(非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}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.