离子Android版本控制失败



我在Play商店中的版本号有问题。

我的应用的版本曾经形成了

Version code
10172   (5 digits)
Version name
1.1.72

我更改了构建机,没有意识到我上传的版本

Version code
101748 

现在6T数字!8延长版本编号为太长

Version name
1.1.74

101748现在阻止我将新版本上传到商店。例如,对于config.xml中的1.1.821版本,我再次获得版本代码101748的APK!?!?!上传

失败
You need to use a different version code for your APK because you already have one with version code 101748.

我还有其他构建组合,其中版本代码再次为5位数字,上传失败。

我无法从Play商店中删除当前上传的版本,我不知道如何调整离子中的自动化构建系统以强迫其使用特定版本代码?看来代码是在构建过程中生成的。

欢迎任何建议。

作为解决方法,编辑config.xml ,添加" android-versioncode",并手动指定您的版本码:

widget id="com.xxxxx.yyyyyyyyyyy" android-versionCode="201018"
version="2.1.1"

好的,花了我一段时间,但是要解决这个问题,必须分开

cordova build --release android 

进入

cordova prepare android
./adjustVersionCode.py 
cordova compile android --release

在未优化和清洁的python中使用adjustVersionCode.py

#!/usr/bin/env python
from lxml import etree
lines = ''
with open('config.xml','r') as configFile:
    for line in configFile.readlines():
        lines += line
configXML = etree.fromstring(lines)
versionNumber = configXML.attrib['version']
versionCode = versionNumber.replace('.','')
if len(versionCode) < 6:
    versionCode += '0'
print versionNumber,versionCode

lines = ''
with open('./platforms/android/AndroidManifest.xml','r') as configFile:
    for line in configFile.readlines():
        lines += line
androidManifestXML = etree.fromstring(lines)
wrongVersion = androidManifestXML.attrib['{http://schemas.android.com/apk/res/android}versionCode']
replaceString = 'android:versionCode="'+str(wrongVersion)+'"'
replaceWith = 'android:versionCode="'+str(versionCode)+'"'
lines = ''
with open('./platforms/android/AndroidManifest.xml','r') as configFile:
    for line in configFile.readlines():
        lines += line.replace(replaceString,replaceWith)

with open('./platforms/android/AndroidManifest.xml','w') as configFile:
    for line in lines:
        configFile.write(line)

请参阅cordova for android创建错误的版本代码

但是,由于您的当前版本是101748,因此您需要至少将其为101749才能上传新版本。无法在Google上撤消此问题,因此您需要从此数字开始或以全新的应用程序上传。

最新更新