【问题标题】:Android upload new apk to production failed: Use different version codeAndroid将新的apk上传到生产失败:使用不同的版本代码
【发布时间】:2015-12-14 10:11:41
【问题描述】:

我使用 PhoneGap 构建了一个应用程序,并使用 PhoneGap Build 构建了实际的 apk。最初我上传了一个apk,意识到有一个错误。然后我取消发布它,现在我必须重新上传一个新的 apk。但是,当我这样做时,会出现以下错误:

我最初的想法是我必须更改 config.xml 文件中的某些内容:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.example.myapp" 
        version="1.0.0" 
        xmlns="http://www.w3.org/ns/widgets" 
        xmlns:gap="http://phonegap.com/ns/1.0"
        versionCode="1.0">
.....

虽然我已经尝试更改引用“代码 1”但没有任何效果的两个实例。我做错了什么?

【问题讨论】:

标签: android cordova google-play ionic phonegap-build


【解决方案1】:

在您的 config.xml 中

改变这个

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.prosperitygroup.EmedEmergency" 
        version="1.0.0" 
        xmlns="http://www.w3.org/ns/widgets" 
        xmlns:gap="http://phonegap.com/ns/1.0"
        versionCode="1.0">

到这里:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.prosperitygroup.EmedEmergency" 
        version="1.0.1" 
        xmlns="http://www.w3.org/ns/widgets" 
        xmlns:gap="http://phonegap.com/ns/1.0"
        versionCode="2">

我在这里假设您的 config.xml 是 Cordova 内 AndroidManifest.xml 的包装器(或增加版本号的新 build.gradle 方式)。

如果您确实有 AndroidManifest,那么您想要这样的东西:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.prosperitygroup.EmedEmergency"
    android:versionCode="2"
    android:versionName="1.1" >

您必须在上传新版本时增加应用的版本号,您可以将数字增加 1、2 或任何其他数字。

您应该为签入源代码管理的每个错误修复增加版本号。这样您就可以更轻松地跟踪错误。

例如,如果您签入内部版本号为 1.8 的错误修复,并且有人报告了 1.7 中的错误,那么您可以告诉该人简单地更新错误修复。

我尝试在每次修复错误时增加我的版本代码,当我关闭错误报告时,我会记下新的构建代码,以便我知道忽略用户对旧版本的错误报告存在错误

versionCode和version有什么区别?

Version Code

——一个整数值,代表应用程序的版本 代码,相对于其他版本。该值是一个整数,因此 其他应用程序可以以编程方式对其进行评估,例如 检查升级或降级关系。您可以将值设置为 你想要的任何整数,但是你应该确保每个 您的应用程序的后续发布使用了更大的价值。这 系统不会强制执行此行为,但会增加值 连续发布是规范的。

android:versionName

- 一个字符串值,表示 应用程序代码,因为它应该显示给用户。价值是一个 字符串,以便您可以将应用程序版本描述为 .. 字符串,或任何其他类型的绝对值或 相对版本标识符。

您可以在android docs 中阅读有关它们的更多信息:

【讨论】:

  • 谢谢@apmartin1991 我现在正在重建,看看它是否有效。所以我想真正的问题是:version 和 versionCode 有什么区别?
  • 非常棒,非常清晰,我已经测试过了,它确实有效。再次感谢:)
  • 如果有帮助,请将问题标记为正确(单击勾号):) 非常欢迎您,明确的答案总是最好的。祝你好运:)
【解决方案2】:

在清单的开头,有一个 versionCode 和 versionName 属性:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.basiccontactables"
    android:versionCode="1"
    android:versionName="1.0" >

每次您想要发布另一个版本的 apk 时,都需要更新这两个变量。

【讨论】:

  • 谢谢,这确实对情况有所了解。但是,您在 Cordova/PhoneGap 的什么地方应用它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-06
  • 2014-09-06
  • 2017-12-02
  • 2023-02-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多