android: versionCode : un valor entero que representa la versión del código de la aplicación, en relación con otras versiones.
El valor es un entero para que otras aplicaciones puedan evaluarlo mediante programación, por ejemplo, para verificar una relación de actualización o degradación. Puede establecer el valor en cualquier número entero que desee, sin embargo, debe asegurarse de que cada versión sucesiva de su aplicación utilice un valor mayor. El sistema no impone este comportamiento, pero aumentar el valor con lanzamientos sucesivos es normativo.
android: versionName : un valor de cadena que representa la versión de lanzamiento del código de la aplicación, como se debe mostrar a los usuarios.
El valor es una cadena para que pueda describir la versión de la aplicación como una .. cadena o como cualquier otro tipo de identificador de versión absoluto o relativo.
Al igual que con android: versionCode, el sistema no usa este valor para ningún propósito interno, excepto para permitir que las aplicaciones lo muestren a los usuarios. Los servicios de publicación también pueden extraer el valor de android: versionName para mostrar a los usuarios.
Por lo general, lanzaría la primera versión de su aplicación con versionCode establecido en 1, luego aumentaría monotónicamente el valor con cada versión, independientemente de si la versión constituye una versión mayor o menor. Esto significa que el valor de android: versionCode no necesariamente tiene un gran parecido con la versión de lanzamiento de la aplicación que es visible para el usuario (consulte android: versionName, a continuación). Las aplicaciones y los servicios de publicación no deben mostrar este valor de versión a los usuarios.