Android - Cordova 版本代码问题

Android - Cordova version code issue

这很奇怪。

基本上,我决定从使用 trigger.io 切换到使用 cordova 来构建和编译我的应用程序(使用离子框架)。

如果我构建一个未签名且未对齐的应用程序,一切都很好,但对于生产,我必须签署并对齐 apk 才能将其上传到 Play 商店。

我已经正确地签署并对齐了 apk,但是当我尝试上传 apk 时,出现了这个错误:

Your APK version code needs to be greater than 1457108319

现在,我在这里阅读了几个关于堆栈溢出的答案,说我只需要在我的项目 config.xml 文件中添加这一行:

<widget id="com.***********" android-versionCode="1457108319" version="5.0.0"

但问题是,如果我有这行代码,那么 gradle 就会失败,我会得到这个错误:

Error: Error code 1 for command: cmd with args: /s,/c,"c:\src\app-v5\platforms\android\gradlew cdvBuildRelease -b c:\src\app-v5\platforms\android\build.gradle -Dorg.gradle.daemon=true -Pandroid.useDeprecatedNdk=true"

但是,如果我将 versionCode 更改为 6 位代码而不是 10,我不会收到任何错误,但同样,我无法将其上传到商店,因为 versionCode 编号小于已发布的应用程序。

我该如何解决这个问题?我真的不知道该怎么办。

非常感谢

自从更新到最新的 Cordova CLI (6.3.1) 和最新的 android cordova 平台 (5.2.2) 后,我遇到了同样的问题。

我的旧版本有以下内容: 版本号:69000 来自 config.xml 文件:

我的新买的: 版本号:7000 来自 config.xml 文件:

所以当我将签名的 APK 上传到 PlayStore 时,我遇到了与您相同的错误:

问题是 7000 小于 69000

问题来自 gradle 脚本(在 platforms/android/build.gradle 中)据我所知,该脚本根据他在您的 config.xml 中找到的内容生成版本代码。

看起来它在某处缺少一些 100 的乘法:

到目前为止,可以做的是: 1: 而不是使用 0.70 作为版本号使用 0.700 2:在config.xml文件中指定versionCode:

这两种情况都对我有用。

希望对您有所帮助。

我真的解决了这个问题。我必须将以下内容添加到我的 config.xml 文件中(在 <widget>, right after version):

android-versionCode="{this needs to be replaced, in my case, by the current timestamp "

缺点是我现在必须记住每次都输入新的时间戳。

我会在某个时候编写某种脚本来为我做这件事。

希望这对某人有所帮助