如何正确版本(ise/ize)Android应用程序?

如何正确版本(ise/ize)Android应用程序?,android,gradle,versioning,Android,Gradle,Versioning,我正在开发一款Android应用程序,我已经将其放在playstore上进行测试。因此,我可以在不同的国家正式测试我的应用程序,因为我有海外朋友。所以我的问题是,由于我的应用程序正在进行beta测试,我在我的应用程序中发现了一些bug,我正在逐一修复它们,并上传应用程序进行更多测试。这是我的第一个官方Android应用程序,几天前我刚刚打开了我的Android应用程序开发者帐户。所以我不太熟悉android的应用程序版本控制是如何工作的 我知道。。版本格式。所以现在,我的应用程序的主要版本是1。

我正在开发一款Android应用程序,我已经将其放在playstore上进行测试。因此,我可以在不同的国家正式测试我的应用程序,因为我有海外朋友。所以我的问题是,由于我的应用程序正在进行beta测试,我在我的应用程序中发现了一些bug,我正在逐一修复它们,并上传应用程序进行更多测试。这是我的第一个官方Android应用程序,几天前我刚刚打开了我的Android应用程序开发者帐户。所以我不太熟悉android的应用程序版本控制是如何工作的

我知道。。版本格式。所以现在,我的应用程序的主要版本是
1
。我已经修补了其中的2个bug,并发布在playstore上,这样我的朋友们就可以测试它并向我发送反馈。为此,我必须将gradle文件中的
versionCode
1
更改为
2
。因为playstore不允许我上传修补过的apk。现在我已经修补了我的应用程序中的一些错误,如果我去上传到playstore,我需要将我的gradle文件中的
versionCode
2
更改为
3
。我知道playstore将在description中显示
versionName
,但我不知道我做得是否正确

假设我的应用程序当前的
versionName
1.0.2
,因为我已经修补了其中的几个bug。但是我的
versionCode
3
。因此,在未来我会得到10个以上的bug,在修复每个bug之后,我的
versionCode
将是
13
versionName
将是
1.0.10
。在那之后,如果我发布次要版本,它将是
1.1.0
,带有
versionCode
=
14

之后,我修复了一些错误并发布了主要版本,这样我的应用程序的
versionName
将类似于
2.0.0
,带有
versionCode
=
25

那么,我做得对吗,或者我需要为此改变/学习一些东西?我搜索了关于版本控制的内容,找到了一些关于创建version.properties和所有内容的优秀教程。但是当我把它上传到playstore时,它总是告诉我把我的
versionCode
1
2
更改为其他内容。我的意思是增加


谁能告诉我该怎么办?我做得对还是错

在版本控制过程中可以看到两件事:

  • 版本代码
  • 版本名
  • 现在你可以将版本代码视为你的年龄,当你庆祝生日时,它会递增,也就是说,版本代码是递增的,无论何时你为播放商店建立新的版本,或者你通过邮件或驱动器发送应用程序。其中一个原因是,在play store中,它可以帮助google服务器区分旧版本和当前版本,从测试的角度来看,您可以基于此版本代码过滤crashlytics中的崩溃

    但是,当我们谈论版本名时,就像你的名字一样,人们可能会叫你chhotu、chintu等等。当你年轻时,他们会叫你病毒式的,当你十几岁时,他们会叫你Joshi先生,当你工作时,他们会叫你Joshi先生,但这并没有什么区别,因为你的年龄正是你的定义


    简而言之,在您为测试而进行的每次构建之后,版本代码都会被更改,但版本名称是您的选择。一般来说,当您进行重大错误修复或UI更改时,版本名称会更改。对于小补丁,您不会在测试版中更改版本名。但是,当它完全发布后,您也可以在每次发布后更改版本名的最后一位。

    versionCode
    可以(真的应该?个人选择)在每次构建时更新,或者在每天开始编写代码时更新。一个不断增加的数字就是所有这些需要的。从
    1开始
    并继续。Google Play Store需要增加更新间隔

    versionName
    适用于Google Play商店,或者当您构建了一个稳定的版本,准备好进行测试并打算发布时。这个字符串的格式由您决定。格式通常是这样读的:

    • 1.2.3
      1
      主要版本,主要更改,
      2
      次要版本,次要 更改,
      3
      bug修复

    • 1.2
      1
      主要版本,主要更改,
      2
      任何更改


    你甚至可以(我认为)在
    versionName
    中使用类似UltraLight或MegaUpdate的字符串,这取决于你自己。它用于区分面向公众的版本。

    如果将应用程序提交到play store,则只需将版本代码至少增加1即可。这些值不一定相互关联,因此您的意思是说@0xDEADC0DE,我的应用程序的
    versionCode
    是否为
    98
    并不重要,但我的应用程序的
    versionName
    是否为
    1.2.5
    。是吗?没错。根据文档(),versionCode仅用于确定是否存在应用程序的更新版本,并且不会向用户显示。versionName用于向usersOkay@0xDEADC0DE显示。谢谢你帮我。我对此感到困惑。让这本书成为你的指南:谢谢@Mohammed向我解释这些东西。我很困惑,所以我在这里问谢谢你在Tiger向我解释。我现在明白了我会投票支持你的答案,但我不能。不过我很感谢你的帮助。@ViralJoshi:没问题。