Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Guide for versioning an android application

Tags:

android

I am trying to release an update of an existing Android application.

What is the correct way of versioning an Android application?

Here Developer guide I found that format may be <major>.<minor>.<point>.

Can someone please explain me what each of major, minor and point mean?

like image 652
Rage Avatar asked Sep 24 '13 05:09

Rage


People also ask

How can I get Android app version?

Android System SettingsOnce in Settings, tap Apps and notifications (or your phone manufacturer's name it). When you're in there, tap See all xyz apps (where xyz is the number of apps you have installed). Now scroll down until you find the app you want to find the version for. Then tap it in the list.

What is versionCode and versionName in Android?

The version code is an incremental integer value that represents the version of the application code. The version name is a string value that represents the “friendly” version name displayed to the users.


4 Answers

androidVersionCode is an integer that you increase with each update. So the first version could be 1, the next update could be 2, etc.

androidVersionName is just a string value that you decide - it's displayed on Google Play.

The documentation refers to <major>.<minor>.<point> as a suggested format for the versionName, e.g. version 1.1.1 or 2.0.4. It's up to you, but there's a good explanation here.

like image 115
ashatte Avatar answered Oct 21 '22 12:10

ashatte


The usual method I have seen is X.Y.Z, which generally corresponds to major.minor.patch:

  • Major version numbers change whenever there is something significant, a large or potentially backward-incompatible change to a software package.

  • Minor version numbers change when a new, minor feature is
    introduced, or when a set of smaller features is rolled out.

  • Patch numbers change when a new build of the software is released to customers. This is normally for small bugfixes or the like.

Other variations use build numbers as an additional identifier, so you may have a large number for X.Y.Z.build if you have many revisions that are tested between releases. A couple packages I use are identified by year/month or year/release, so a release now might be 2010.9 or 2010.3 for the 3rd release of this year.

There are many variants on versioning, it comes down to personal preference.

For the "1.3v1.1" that may be two different internal products, something that would be a shared library / codebase that is rev'd differently from the main product. That may indicate version 1.3 for the main product, and version 1.1 of the internal library / package

like image 41
Lokesh Avatar answered Oct 21 '22 12:10

Lokesh


As long as you update android:versionCode each time, it doesn't really matter what you put into android:versionName. It can be three different numbers or any other string, e.g. "1.0.0", "a", or "best release ever".

This is a general discussion of Software Versioning from Wikipedia.

like image 42
Szymon Avatar answered Oct 21 '22 12:10

Szymon


The version code is an integer and must be strictly increasing with each new version.

The version name is totally up to you. A scheme that is often used is x.y where x is incremented for really big changes (maybe even introducing incompatibilities with previous versions), while y is incremented for minor changes.

like image 29
Henry Avatar answered Oct 21 '22 13:10

Henry