Version Code: qué es, identificador numérico y actualizaciones

Autor: IT Sectr Publicado: 2026-04-17 Tiempo de lectura: 8 min

Version Code es un número entero positivo en el desarrollo de Android que identifica de forma única cada nueva compilación de la aplicación. Google Play y el sistema Android usan el Version Code para determinar si es necesaria una actualización: si el código de la nueva compilación es mayor que el instalado, se inicia el proceso de actualización. Según la Documentación para Desarrolladores de Android, el Version Code no se muestra al usuario y sirve exclusivamente para la numeración interna de versiones.

Puntos clave

  • Version Code — identificador numérico de compilación de una aplicación Android para Google Play
  • Incremento — cada nueva compilación debe tener un Version Code mayor que la anterior
  • Version Name — versión textual para el usuario, no afecta al mecanismo de actualización
  • Configuración se realiza en build.gradle mediante el campo versionCode
  • Límite — el valor máximo del Version Code es 2100000000

Qué es el Version Code en Android

Version Code es un número entero de tipo Integer que se asigna a cada compilación de una aplicación Android. A diferencia del Version Name, el Version Code no se muestra al usuario y lo utilizan exclusivamente el sistema operativo y Google Play para comparar versiones al instalar actualizaciones.

Formato del Version Code

Version Code debe ser un número entero positivo en el rango de 1 a 2100000000. Cada compilación posterior debe tener un Version Code estrictamente mayor que el anterior. Si un desarrollador publicó una compilación con Version Code 5, la siguiente publicación puede usar 6, 7 o cualquier número mayor que 5, pero no 4 ni 5 nuevamente.

Historia del origen

Google introdujo la separación entre Version Code y Version Name con el lanzamiento del SDK de Android en 2007. Version Code fue concebido como un identificador de máquina para la comparación automática de versiones, mientras que Version Name se concibió como una etiqueta legible para humanos. Esta separación permite al desarrollador nombrar la versión como desee, manteniendo un orden estricto de actualizaciones mediante el código numérico.

ParámetroVersion CodeVersion Name
Tipo de datoIntegerString
Visualización al usuarioNo
Comparación de versionesComparación numéricaNo se usa
Formato1, 2, 3, 10, 1001.0.0, 2.3.1-rc
Rango1 — 2100000000Sin límites

Cómo funciona el versionado mediante Version Code

El mecanismo de comparación del Version Code está integrado en el sistema operativo Android y en Google Play. Con cada publicación, Google Play verifica que el Version Code de la nueva compilación sea mayor que el código de la versión instalada. Si no se cumple la condición, la publicación se rechaza con un error.

Proceso de verificación de actualizaciones

Cuando un dispositivo se conecta a Google Play para buscar actualizaciones, el servidor compara el Version Code de la aplicación instalada con el máximo disponible en la tienda. Si el código en el servidor es mayor, se inicia la descarga e instalación de la actualización. El usuario ve el Version Name indicado por el desarrollador, pero la decisión de actualizar se toma en base al Version Code.

Incremento del Version Code

Los desarrolladores aplican diferentes estrategias para incrementar el Version Code. La más simple es aumentar en 1 con cada compilación. Para pipelines CI/CD se suele usar un timestamp o el número de compilación: 2026070301 (año-mes-día-número). Es importante que el código aumente monótonamente y no se repita entre diferentes compilaciones y canales de Google Play.

  • Incremento monótono — aumento de 1 por cada commit en la rama de lanzamiento
  • Formato timestamp — 20260703 para compilaciones diarias, 2026070301 para varias al día
  • SemVer en números — 100010000 para la versión 1.1.0 (major 1, minor 1, patch 0)
  • Número de compilación — uso de BUILD_NUMBER del sistema CI (Jenkins, GitHub Actions)

Diferencias entre Version Code y Version Name

Version Code y Version Name son dos campos independientes en build.gradle que cumplen funciones diferentes. Version Code es un identificador interno para el sistema, Version Name es una etiqueta de marketing para el usuario. Pueden cambiar independientemente uno del otro.

Version Name para el usuario

Version Name es una cadena que se muestra en la configuración de la aplicación, en Google Play y en los diálogos de actualización. El desarrollador puede especificar cualquier formato: 1.0.0, 2.3.1-beta, 3.0-rc1. Version Name no se usa para comparar versiones textuales — Google Play siempre se basa en el Version Code.

Escenarios de divergencia

Es posible una situación donde el Version Code aumenta mientras que el Version Name permanece igual. Por ejemplo, si un desarrollador corrige un error crítico en una compilación hotfix sin cambiar la funcionalidad. El Version Name sigue siendo 2.0.0, mientras que el Version Code cambia de 5 a 6. Google Play manejará correctamente dicha actualización.

groovy
// Ejemplo: el version name no cambia, el código aumenta
android {
    defaultConfig {
        versionCode 6  // Era 5 — hotfix sin nuevas funciones
        versionName "2.0.0"  // No cambió
    }
}

// Verificación de versiones en runtime
val code = BuildConfig.VERSION_CODE
val name = BuildConfig.VERSION_NAME
println("Code: $code, Name: $name")

Configuración del Version Code en build.gradle

La configuración del Version Code se realiza en el archivo build.gradle del módulo de la aplicación. El campo versionCode acepta un número entero y forma parte del bloque defaultConfig. Para diferentes compilaciones de variantes (flavors), se pueden establecer valores personalizados mediante el campo versionCode en la configuración del producto.

Configuración básica

kotlin
// build.gradle.kts — Kotlin DSL
android {
    defaultConfig {
        applicationId "com.example.app"
        versionCode 15
        versionName "2.1.0"
    }

    flavorDimensions +"version"
    productFlavors {
        create("demo") {
            versionCode 1015
        }
        create("full") {
            versionCode 2015
        }
    }
}

Los Product flavors permiten usar diferentes Version Code para distintas configuraciones: versión demo, versión separada para tabletas. Si se usan flavors en el proyecto, el Version Code final se compone del número base y el incremento específico del flavor. Google Play rastrea cada combinación de forma independiente.

Automatización del incremento mediante CI

En los pipelines CI/CD (GitHub Actions, GitLab CI, Jenkins), el Version Code a menudo se genera automáticamente basándose en el número de compilación o la fecha. Esto elimina el error humano en las actualizaciones manuales. El script lee el Version Code actual de build.gradle, lo incrementa y lo escribe de nuevo antes de iniciar la compilación.

kotlin
// Incremento automático del Version Code
import java.util.Properties
import java.io.FileInputStream

val versionProps = Properties()
versionProps.load(FileInputStream("version.properties"))

val versionCode = versionProps.getProperty("VERSION_CODE").toInt() + 1
versionProps.setProperty("VERSION_CODE", versionCode.toString())

android {
    defaultConfig {
        versionCode = versionCode
    }
}

Particularidades del Version Code para publicar en Google Play

Google Play tiene reglas estrictas para el Version Code al publicar y actualizar aplicaciones. Violar estas reglas provoca el rechazo de la compilación o la imposibilidad de lanzar una actualización. El desarrollador debe comprender las limitaciones y las estrategias de gestión del código en todas las etapas del ciclo de vida.

Regla de incremento monótono

Google Play no permite subir un APK o AAB cuyo Version Code sea menor o igual al publicado actualmente. Esta regla se aplica a cada canal (production, beta, alpha) de forma independiente. Si en production se ha subido una compilación con Version Code 10 y en alpha una con código 5, el canal alpha puede actualizarse a 6, 7, 8 o 9, pero production permanece en 10.

Migración entre canales

Al promover una compilación de alpha a beta y luego a production, el Version Code debe aumentar en cada etapa. Si la versión alpha tiene código 10, beta puede usar 11 y production 12. No se puede lanzar a production una compilación con código 10 si alpha ya está usando 10, incluso si production aún no lo ha visto.

  • Incremento monótono — cada compilación en un canal tiene un Version Code mayor que la anterior en el mismo canal
  • Conciencia entre canales — al promover entre canales, el Version Code aumenta secuencialmente
  • Pruebas internas — el canal de pruebas internas usa las mismas reglas de monotonicidad
  • Múltiples APK — el formato antiguo de publicación requería un Version Code único para cada APK

Errores al indicar el Version Code

El error más común es la coincidencia del Version Code en diferentes compilaciones subidas al mismo canal. Google Play devuelve el error APK_VERSION_CODE_ALREADY_EXISTS. Otro error es superar el valor máximo de 2100000000, lo que provoca un fallo de compilación. Para evitar conflictos, use la generación automática de código en su sistema CI vinculada al número de compilación o a la fecha de compilación.

Los desarrolladores también suelen cometer el error de no incrementar el Version Code al compilar un hotfix para un canal alternativo. Si production tiene código 15 y el canal alpha se quedó en 14, al promover alpha a production, Google Play rechazará la compilación porque su código es menor que el código actual de production. Supervise la monotonicidad del código en todos los canales simultáneamente — para ello, es conveniente usar un único archivo version.properties del cual todos los canales lean el valor actual.

Preguntas frecuentes

¿Se puede lanzar una actualización con un Version Code menor al actual?

No, Google Play no permite subir una compilación con un Version Code menor o igual al publicado actualmente en el mismo canal. El sistema verifica el código al subirlo y devuelve un error si se viola la regla de incremento monótono. Para los canales alfa y beta se aplica el mismo principio de forma independiente.

¿Qué Version Code debo indicar para la primera publicación de la aplicación?

Para la primera publicación puede indicar Version Code 1. Google Play no establece un umbral mínimo, aparte de un número entero positivo. Se recomienda empezar con 1 e incrementar en 1 con cada compilación posterior. Si usa un formato timestamp, la primera compilación podría ser 20260701.

¿Cómo se relaciona el Version Code con el Version Name en Google Play?

Version Code es un identificador interno de máquina usado por el sistema para la comparación. Version Name es una etiqueta visible para el usuario que se muestra en Google Play y en el dispositivo. El usuario ve el Version Name (por ejemplo, 2.0.0), mientras que Google Play usa el Version Code para determinar si es necesaria una actualización.

¿Qué ocurre si se supera el valor máximo del Version Code?

El valor máximo del Version Code es 2100000000 (Integer.MAX_VALUE). Si se supera, el compilador devolverá un error porque el campo es de tipo int. Para proyectos con un gran número de compilaciones (CI/CD con lanzamientos diarios), se recomienda usar un formato timestamp o reiniciar el contador al inicio de una versión major.

¿Se puede usar el Version Code para pruebas A/B?

Version Code no se usa directamente para pruebas A/B, pero influye indirectamente. Google Play permite configurar el despliegue gradual (staged rollout) por porcentaje de usuarios para una compilación específica. El Version Code identifica la compilación, mientras que las pruebas A/B se configuran mediante Firebase Remote Config o servicios similares.

Resumen

  • Version Code — número entero que identifica de forma única cada compilación de una aplicación Android
  • Google Play usa el Version Code para determinar si es necesaria una actualización de la aplicación
  • Regla de incremento — cada nueva compilación debe tener un código estrictamente mayor que la anterior en el mismo canal
  • Rango de valores — de 1 a 2100000000 (Integer.MAX_VALUE)
  • Version Name — etiqueta textual visible para el usuario, no afecta al mecanismo de actualización
  • Automatización — los sistemas CI/CD pueden generar el Version Code a partir del número de compilación o timestamp
  • Recomendación — elegir una estrategia de incremento antes de publicar y mantenerla durante todo el ciclo de vida

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también