我的应用在android市场上的版本代码为2,版本名称为1.1
但是,今天更新的时候,我在manifest里把版本码改成了3,但是错误的把我的版本名改成了1.0.1,并把apk上传到了市场。
现在,我的应用程序的用户会在他们的手机上收到更新通知吗?还是我要重做一遍?
我的应用在android市场上的版本代码为2,版本名称为1.1
但是,今天更新的时候,我在manifest里把版本码改成了3,但是错误的把我的版本名改成了1.0.1,并把apk上传到了市场。
现在,我的应用程序的用户会在他们的手机上收到更新通知吗?还是我要重做一遍?
当前回答
版本代码被谷歌播放商店用于新的更新。版本名显示给用户。 如果您增加了版本代码,则更新将对所有用户可见。
要了解更详细的信息,请花2分钟阅读这篇文章https://developer.android.com/studio/publish/versioning.html
其他回答
android:versionCode -一个整数值,代表应用程序代码的版本,相对于其他版本。
该值为整数,以便其他应用程序可以以编程方式计算它,例如检查升级或降级关系。您可以将该值设置为您想要的任何整数,但是您应该确保应用程序的每个后续版本都使用更大的值。系统不会强制执行这种行为,但是随着连续的发布而增加值是规范的。
android:versionName -一个字符串值,代表应用程序代码的发布版本,因为它应该显示给用户。
该值是一个字符串,以便您可以将应用程序版本描述为..字符串,或作为任何其他类型的绝对或相对版本标识符。
与android:versionCode一样,系统不会将此值用于任何内部目的,除了允许应用程序将其显示给用户。发布服务也可以提取android:versionName值以显示给用户。
通常,在发布应用程序的第一个版本时,将versionCode设置为1,然后在每次发布时单调地增加该值,而不管该发布是主要发行版还是次要发行版。这意味着android:versionCode值不一定与用户可见的应用程序发布版本有很强的相似性(参见下面的android:versionName)。应用程序和发布服务不应该向用户显示此版本值。
给定一个版本号MAJOR.MINOR。PATCH,增加:
当你进行不兼容的API更改时,MAJOR版本 以向后兼容的方式添加功能时为MINOR版本 当您进行向后兼容的错误修复时,PATCH版本。
版本代码和版本名称
如你所知,在android上,你必须为应用程序定义两个版本字段:版本代码(android:versionCode)和版本名称(android:versionName)。版本代码是一个增量整数值,表示应用程序代码的版本。版本名是一个字符串值,表示显示给用户的“友好”版本名。
不需要反转你的步骤。当您增加VersionCode时,这意味着您的应用程序已经升级了。VersionName只是一个字符串,为了便于用户阅读而呈现给用户。谷歌play不会根据VersionName采取任何行动。
我猜用户仍然会收到更新通知,因为你增加了你的版本代码。但是您的版本名将显示为1.0.1给用户。
在我的情况下,我向最终用户显示我的应用程序的版本,我在Manifest文件和build.grade中添加版本名称和版本代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.mydomain.myproject"
android:versionCode="9106"
android:versionName="9.1.06">
...
</manifest
之后,我将这个变量用于我的活动或片段
try
{
versionName = getActivity().getPackageManager().getPackageInfo(getActivity().getPackageName(), 0).versionName;
}
catch (PackageManager.NameNotFoundException e) {
versionName ="";
}
catch (ActivityNotFoundException e)
{
//e.printStackTrace();
versionName ="";
}