Android上传新apk到生产失败:使用不同的版本代码

时间:2015-12-14 10:11:42

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

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

enter image description here

我最初的想法是我必须在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”但没有任何作用。我做错了什么?

2 个答案:

答案 0 :(得分:4)

在你的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 Code

  

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

android:versionName

  

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

您可以在android docs

中详细了解这些内容

答案 1 :(得分:1)

在清单的开头,有一个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时,都需要更新这两个变量。