versionCode vs versionName en el Manifiesto de Android

223

Tenía mi aplicación en el Android Market con código de versión = 2 y nombre de versión = 1.1

Sin embargo, al actualizarlo hoy, cambié el código de la versión = 3 en el manifiesto, pero por error cambié el nombre de mi versión a 1.0.1 y subí el apk al mercado.

Ahora, ¿recibirán los usuarios de mi aplicación una notificación de actualización en sus teléfonos o no? ¿O debería rehacer el proceso nuevamente?

usuario838522
fuente
1
prueba este enlace, te ayudará ... " developer.android.com/tools/publishing/… "
MPG
Deberían, a medida que aumenta el código de la versión. Que en teoría es el que se usa como marcador de actualización.
superUser
@ user838522 ¿podría marcar la respuesta más votada como la respuesta seleccionada?
xarlymg89
@ CarlosAlbertoMartínezGadea: usuario838522 fue visto por última vez en 2013
serv-inc

Respuestas:

610

Link de referencia

android: versionCode

Un número de versión interno. Este número se usa solo para determinar si una versión es más reciente que otra, con números más altos que indican versiones más recientes. Este no es el número de versión que se muestra a los usuarios; ese número lo establece el atributo versionName. El valor debe establecerse como un entero, como "100". Puede definirlo como desee, siempre que cada versión sucesiva tenga un número mayor. [...]

android: versionName

El nombre de la versión que se muestra a los usuarios. Este atributo se puede establecer como una cadena sin formato o como una referencia a un recurso de cadena. La cadena no tiene otro propósito que mostrarse a los usuarios. El atributo versionCode contiene el número de versión significativo utilizado internamente.

Al leer que está bastante claro que versionName es solo algo que se le muestra al usuario, versionCode es lo que importa. Solo sigue incrementándolo y todo debería estar bien.

Tanoh
fuente
1
Eso significa que no hay relación matemática entre ambos. ¿Lo es?
Vinil Chandran
Eso explica las actualizaciones silenciosas que parecen ser la misma versión.
E. Sundin
11
Solo para agregar una nota: el mayor valor que Google Play permite para versionCode es 2100000000
Atul
1
¿Es obligatorio mantener la diferencia de código de versión entre vesrion actualizada y la versión anterior de la aplicación en Play Store para que sea 1?
Sivaram Boina
@sivaram No. No, en absoluto.
Desconocido el
30

No necesita revertir sus pasos. A medida que aumentó su Código de versión, significa que su aplicación ya se ha actualizado. VersionName es solo una cadena que se presenta al usuario para facilitar su lectura. Google play no realiza ninguna acción según VersionName.


fuente
9

Google Play Store utiliza el código de versión para una nueva actualización. Y el nombre de la versión se muestra al usuario. Si ha aumentado el código de versión , la actualización será visible para todos los usuarios.

Para obtener información más detallada, debe leer en 2 minutos este artículo https://developer.android.com/studio/publish/versioning.html

dev.sourabh
fuente
6

Le daré mi interpretación de la única documentación que puedo encontrar sobre el tema.

"por ejemplo, para verificar una relación de actualización o degradación". <- Puede degradar una aplicación.

"debe asegurarse de que cada versión sucesiva de su aplicación utilice un valor mayor. El sistema no aplica este comportamiento" <- El número realmente debería aumentar, pero aún puede degradar una aplicación.

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. 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 androide: El valor de 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.

braden
fuente
2
Entonces, ¿puedo dejarlo así? Porque creo que el sistema Android busca actualizaciones de aplicaciones basadas en el Código de versión en lugar del número de versión. Corrígeme si me equivoco.
user838522
5

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.

krishan kumar Sharma
fuente
5

De hecho, se basa en versionCode y no en versionName. Sin embargo, noté que cambiar el código de versión en AndroidManifest.xml no era suficiente con Android Studio - Gradle build system. Necesitaba cambiarlo en build.gradle.

Chaitanya
fuente
5

El código de versión representa la versión de su código, el sistema operativo Android busca actualizaciones mediante el uso de esta variable si este código es antiguo o nuevo.

Nombre de la versión Representa el nombre de la versión en el formato

(Mayor). (Menor). (Punto)

Cadena, utilizada solo para cadena legible, el sistema operativo ha utilizado el código de versión funcional.

Rahul Jain
fuente
5

Código de versión : es un número entero positivo que se utiliza para comparar con otros códigos de versión. No se muestra al usuario, es solo para mantener registros de alguna manera. Puede establecerlo en cualquier número entero que desee, pero se sugiere que lo incremente linealmente para versiones sucesivas.

Nombre de la versión : esta es la cadena de versión vista por el usuario. No se usa para comparaciones internas ni nada, es solo para que los usuarios lo vean.

Por ejemplo : supongamos que lanza una aplicación, su versionCode inicial podría ser 1 y versionName también podría ser 1. Una vez que realice algunos pequeños cambios en la aplicación y desee publicar una actualización, establecerá versionName en "1.1" (ya que los cambios no son importantes) mientras que lógicamente su versionCode debería ser 2 (independientemente del tamaño de los cambios).

Supongamos que, en otra condición, lanza una versión completamente renovada de su aplicación, puede establecer versionCode y versionName en "2".

Espero que ayude.

Puedes leer más sobre esto aquí

Krishnakeshan
fuente
0

Dado un número de versión MAJOR.MINOR.PATCH, incremente el:


  • Versión PRINCIPAL cuando realiza cambios de API incompatibles,
  • Versión MENOR cuando agrega funcionalidad de una manera compatible con versiones anteriores, y
  • Versión PARCHE cuando realiza correcciones de errores compatibles con versiones anteriores.

Código de versión y nombre de versión

Como ya sabrá, en Android debe definir dos campos de versión para una aplicación: el código de versión (android: versionCode) y el nombre de la versión (android: versionName). El código de versión es un valor entero incremental que representa la versión del código de la aplicación. El nombre de la versión es un valor de cadena que representa el nombre de la versión "amigable" que se muestra a los usuarios.

Patel orante
fuente
0

La respuesta de Tanoh podría usar alguna aclaración. VersionCode es el equivalente de un número de compilación. Por lo general, una aplicación pasará por muchas iteraciones antes del lanzamiento. Algunas de estas iteraciones pueden llegar a la tienda de Google Play en forma de versiones alfa, beta y reales. Cada iteración sucesiva debe tener un código de versión incrementado. Sin embargo, normalmente solo aumenta el nombre de la versión cuando se realiza entre lanzamientos públicos. Ambos números son significativos. Sus usuarios necesitan saber si la versión que tienen en su teléfono es la última o no (versionName) y los sistemas Play Store y CI como bitrise dependen y / o actualizan el número de compilación (versionCode)

Fuad Kamal
fuente