2017-04-17 79 views
0

我做了我的android应用程序的版本,如0.1.#。现在,版本高达0.1.9和代码是这样的android应用程序自动降级版本

defaultConfig { 
     applicationId "myapp.app" 
     minSdkVersion 21 
     targetSdkVersion 23 
     versionCode 1 
     versionName "0.1.9" 
     multiDexEnabled = true 
    } 
    productFlavors { 
     demo { 
      versionName "0.1.9-demo" 
     } 
     full { 
      versionName "0.1.9-full" 
     } 
    } 

当它安装在一些设备(华为Y6 II)的自动降级版本0.1.6后一/二日内问题。也许这是一种罕见的情况,我已经在谷歌搜索,但我无法得到任何答案。请有人向我解释,我非常感谢你的帮助。感谢

+3

versionCode为什么仍然设置为1?每次更新都必须增加此项。我很惊讶您甚至可以无误地将其上传到Google Play。 –

+0

@ Code-Apprentice老实说,我的应用只是为了内部目的,所以我只是建立并通过电子邮件发送apk。但是当它在0.1.9以下的版本上时,不会自动降级?你可以解释一下 –

+0

我不明白为什么会降级。我建议更改versionCode以查看它是否解决了问题。您还应该在将来为每个版本增加versionCode。 –

回答

0

安卓的versionCode

的内部版本号。此号码仅用于确定 某个版本是否比其他版本更新,更高的号码 表示更新的版本。这不是向用户显示的 的版本号;该数字由versionName属性设置。值 必须设置为整数,例如“100”。您可以定义它,但是只要每个后续版本的号码较高,就可以使用 。例如,对于 ,它可能是内部版本号。或者,您可以将“x.y”格式的 版本转换为整数,方法是分别在下16位和高16位中对“x”和“y”编码。或者您可以简单地 每次发布新版本时增加1。

的android:的versionName

向用户显示的版本号。可以将此属性设置为原始 字符串或作为对字符串资源的引用。 该字符串没有其他 的目的,比向用户显示。 versionCode属性包含内部使用的重要版本号 。

基于此您应该增加版本代码

来源:developer.android.com

0

如果你的应用是定位系统的应用/系统/应用程序(或其他一些系统路径) ,然后安装与版本名称的新版本(可能是0.1.9),但版本号与0.1.6相同,系统会在手机重启时将版本重置为0.1.6。因为系统认为0.1.9和0.1.6是相同的版本。因此,您需要在每次发布新版本时增加VersionCode以避免此问题。