In Android, application versioning has two things.
- android: versionCode is an integer value representing the version of the application code compared to other versions.
- android: versionName is a string value that represents the version of the application code version, as it should be shown to users.
What is visible to users is the second . Thus, you can have, for example, a version in alpha, where android:versionName is "1.0.0" and android:versionCode is 1 (integer), then do your checks and corrections, and when you are ready to deploy in production, keep android:versionName to "1.0.0" , but android:versionCode increased by 1 from the last value it had in alpha, for example android:versionName="1.0.0" , android:versionCode=5 (production is 5th upgrade from your initial aplha deployment). Of course, you can change "1.0.0" to whatever you want, you can lower it, for example. "0.9.0" , it is android:versionCode , which should always increase by 1 .
You can read more here: Versions of your applications
pleft source share