Manifest version information is used for two purposes:
► To organize and keep track of application features
► To manage application upgrades
For this reason, the <manifest> tag has two separate version attributes: a version name and a version code.
The version name is the traditional versioning information, used to keep track of application builds. Smart versioning is essential when publishing and supporting applications. The <manifest> tag android:versionName attribute is a string value provided to keep track of the application build number. For example, the Droidl project has the version name 1.0. The format of the version name field is up to the developer. However, note that this field is visible to the user.
The version code allows the Android platform to programmatically upgrade and downgrade an application. The <manifest> tag android:versionCode attribute is an integer value that the Android platform and Android marketplaces use to manage application upgrades and downgrades. android:versionCode generally starts at a value of 1. This value should be incremented with each new version of the application deployed to users. The version code field is not visible to the user and need not stay in sync with the version name.
Was this article helpful?