¿Qué es la versión de Android Bundle y el código de versión y cómo se relacionan?

a) ¿Qué denotan la versión de paquete de Android y el código de versión?

b) ¿Cuál es la diferencia entre la versión de paquete y el código de versión?

i) Supongamos que tengo una versión de paquete de 0.137 , ¿cómo se relaciona el código de versión con esto? ¿Puede el código de versión ser 137?

ii) ¿Qué sucede cuando suelte la versión 1.0 paquete siguiente? ¿Puedo llamar al código de versión 10 ?

c) ¿Cómo se relacionan? ¿Cuál es la forma correcta de numerar las versiones del paquete?


NB No parece haber una fuente que explique la diferencia, en la búsqueda. He estado numerando mis paquetes hasta ahora, pero me gustaría averiguar cómo hacerlo bien.

Estas designaciones parecen ser específicas de Unity , pero no estoy seguro si entiendo cuáles son los parámetros de incluso de esa página …

No hay "versión de paquete". Eso es un término para iOS / Mac. Las aplicaciones de Android construidas se llaman paquetes.

Android tiene dos lugares donde se especifica una versión: nombre de versión ( android:versionName en manifiesto) y código de versión ( android:versionCode ). No tienen que ser corelated, pero en la práctica lo son generalmente. Google Market utiliza código de versión (no nombre) cuando publica una actualización para asegurarse de que su actualización es posterior al paquete publicado actualmente.

El nombre de la versión es lo que ven los usuarios finales. No hay limitación en su formato; es una cadena de texto libre, aunque la gran mayoría de las aplicaciones se adhieren a los patrones 1.2 o 1.2.3.

La forma en que corellate el nombre de la versión y el código de la versión depende de usted. Puede ir con códigos de versión secuenciales, o puede usar una fórmula de major*10000 + minor*100 + build – eso es lo que Google hace con sus aplicaciones, por lo que v. 4.10.3 tendría el código 41003.

Unity tiene la respuesta en su página Manual de configuración del reproductor: http://docs.unity3d.com/Manual/class-PlayerSettings.html

  • Bundle Version: Especifica el número de versión de compilación del paquete, que identifica una iteración (liberada o no) del paquete. La versión se especifica en el formato común de una cadena que contiene números separados por puntos (por ejemplo, 4.3.2). (Esto se comparte entre iOS y Android.)

  • Bundle Versión Código: Un número de versión interno. Este número se utiliza sólo 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 se establece mediante el atributo versionName. El valor debe establecerse como un entero, como "100". Puede definirlo como quiera, siempre y cuando cada versión sucesiva tenga un número mayor. Por ejemplo, podría ser un número de compilación. O puede traducir un número de versión en formato "xy" a un número entero codificando "x" e "y" por separado en los 16 bits inferiores y superiores. O simplemente puede aumentar el número por uno cada vez que se publica una nueva versión.

Esto no aborda directamente la pregunta, sino que está relacionada (y relacionada con la respuesta de ArianJM).

Llegué a esta pregunta como resultado de un problema que acabo de cargar una nueva versión a la Appstore de Amazon.

El contenido de la página del Manual de Unity de ArianJM ha cambiado y (al menos para la versión 5.4) ya no contiene ninguna información acerca de Bundle Version o Bundle Version Code.

En Unity 5.4:

Bundle Version ahora es Version . Este campo es identificado por la Appstore de Amazon como nombre de versión .

El código de la versión del paquete todavía es Código de la versión del paquete . Este campo es identificado por la Appstore de Amazon como código de versión . Este campo sólo permite números .

Estoy en el proceso de subir una nueva versión a la Amazon Appstore y aunque he actualizado la Versión en Unity a 1.1, el Bundle Version Code no fue actualizado y como resultado fue rechazado por la Amazon Appstore porque era la misma que la anterior Código de versión del paquete (código de versión en Appstore de Amazon).

Desde entonces he actualizado el código de versión de Bundle en Unity, pero no pude actualizarlo a 1.1 o 1_1 porque el campo es estrictamente numérico y, por lo tanto, lo actualizó a 2.

Que creo que nos trae círculo completo a una parte de la pregunta original: ¿Existe una manera correcta de numerar las versiones de paquete?

Aunque arbitrariamente cambiarlo a 2 en mi caso claramente no es mucho de un esquema – es diferente y más alto que el número anterior y, como tal, funciona.

No es mucho de un plan, pero la falta de documentación actual por Unity abordar estos campos – y los nombres de campo similar-pero-diferentes entre Unity y la Amazon Appstore parece conducir a estas decisiones ad-hoc.

  • Proceso de actualización de mi aplicación en el mercado
  • ¿Cómo puedo comprobar la versión de Open Mobile API en Android?
  • ¿Cómo recuperar la versión sdk de Android?
  • Error de minSdkVersion al cargar APK en Android Market
  • ¿Cómo puedo comprobar la versión del sistema de Android?
  • Distribución histórica de las versiones de la plataforma Android
  • ¿Qué versiones de Android SDK admiten la codificación en qué versiones de Java?
  • ¿Por qué android.os.Build.VERSION_CODES funciona en plataformas más antiguas
  • ¿Cómo incluir la cadena de versión en el nombre de archivo al crear Android apk con hormiga?
  • Cómo solicitar información de la aplicación de Google Play Store sin autenticación
  • Problemas de reproducción de Android Studio
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.