Flutter: actualiza el código de versión para Play Store

90

He publicado una aplicación en Play Store con Flutter, ahora quiero cargar una nueva versión de la aplicación. Estoy intentando cambiar el código de la versión con:

Flutter build apk --build-name = 1.0.2 --build-number = 3

o cambiando las propiedades locales como esta

 flutter.versionName=2.0.0
 flutter.versionCode=2
 flutter.buildMode=release

pero cada vez que me sale un error en la tienda de juegos

Debes usar un código de versión diferente para tu APK o tu Android App Bundle porque el código 1 ya está asignado a otro APK o Android App Bundle.

Pondikpa Tchabao
fuente

Respuestas:

206

versión en el archivo pubspec.yaml

Actualizar version:A.B.C+Xen pubspec.yaml.

Para Android:

A.B.Crepresenta el versionNametal como 1.0.0.

X(el número después de la +) representa la versionCodetales como 1, 2, 3, etc.

No se olvide de ejecutar flutter packages get, flutter buildo flutter rundespués de este paso, ya que: Cuando se ejecuta flutter packages getdespués de la actualización de esta versionen el pubspecarchivo, el versionNamey versionCodeen el local.propertiesse actualizan los cuales son recogidos más tarde en el build.gradle (app)cuando se genera el proyecto aleteo usando flutter buildo flutter runlo que es en última instancia responsable de establecer la versionNamey versionCodepara la apk.

Para iOS:

A.B.Crepresenta el CFBundleShortVersionStringtal como 1.0.0.

X(el número después de la +) representa la CFBundleVersiontales como 1, 2, 3, etc.

No olvide ejecutar flutter packages get, flutter buildo flutter rundespués de este paso

Rohan Taneja
fuente
4
Ésta es la respuesta correcta y debería ser la respuesta aceptada.
Daniel Allen
12
¡gracias! para Android, el punto clave es ejecutar flutter rundespués de cambiar pubspec.yaml; de lo contrario, Android Studio compilará apk / aab con un código de versión anterior basado en local.properties
Dika
4
entonces, en algún momento posterior, una aplicación puede verse como 5.1.3+201¿verdad?
Chuck K
1
Gracias @Dika, ese punto también fue clave para mí
David Santiago Turiño
Para cada lanzamiento, el código de la versión también debe cambiarse. Por ejemplo, no puede simplemente cambiar el nombre de la versión solo de 1.0.0 + 1 a 1.1.0 + 1. Tiene que cambiarse a 1.1.0 + 2
akfaisel
130

Descubrí este. La documentación no es sencilla

en tu pubspec.yamlcambio la versión así

version: 1.0.2+2

donde el material es VER_NAME +VER_CODE

David Hulmes
fuente
16
No puedo creer que esto no esté incluido en la documentación oficial de entrega . Es muy frustrante encontrar la respuesta aquí ...
Tokenyet
8
La estrategia aquí es correcta, pero el número entero después del + es el código de versión, no el nombre de la versión.
Daniel Allen
@Tokenyet Ahora es :)
Rohan Taneja
Como se dijo antes de @DanielAllen: nombre de la versión es antes del + y versionCode es después del +
Alex Semeniuk
2
1.0.2 es el nombre de la versión y +2 es el código de la versión. ¡Gracias! ¡Esto me ayudó mucho!
Renan Coelho
18

Solución:

Dentro de pubspec.yaml agregue esto (probablemente después de la descripción, la misma sangría que la descripción, el nombre, etc.):

version: 2.0.0+2

Luego, ¿los paquetes ingresan al directorio local de flutter (no olvide hacer esto)

Explicación:

Todo lo que precede a más es el nombre de la versión y después el código de la versión. Entonces, aquí el código de la versión es 2 y el nombre es 2.0.0. ¡Siempre que actualice la aplicación flutter, asegúrese de cambiar el código de versión obligatoriamente!

Información adicional:

Siempre que se crea una aplicación de Android, build.gradle dentro de android / app / busca el código y el nombre de la versión. Esto generalmente se encuentra en local.properties, que se cambia cada vez que cambia flutter pubspec.yaml

Vidor Vistrom
fuente
6

Actualización del número de versión de la aplicación El número de versión predeterminado de la aplicación es 1.0.0. Para actualizarlo, navegue hasta el archivo pubspec.yaml y actualice la siguiente línea:

versión: 1.0.0 + 1

El número de versión son tres números separados por puntos, como 1.0.0 en el ejemplo anterior, seguido de un número de compilación opcional como 1 en el ejemplo anterior, separados por un +.

Tanto la versión como el número de compilación pueden anularse en la compilación de Flutter especificando --build-name y --build-number, respectivamente.

En Android, build-name se usa como versionName mientras que build-number se usa como versionCode. Para obtener más información, consulte Versión de su aplicación en la documentación de Android.

Emmanuel Ametepee
fuente
Aquí está el enlace a la documentación oficial de implementación: Actualización del número de versión de la aplicación
Ahmad Payan
3

Para Android

"XYZ + n" aquí "xyz" representa el NOMBRE DE VERSIÓN y "n" representa el NÚMERO DE VERSIÓN . Se realizarán los siguientes cambios:

  1. En pubspec.yamlcambio su número de versión.
  2. Actualice su comando local.propertiesejecutando flutter pub get.
  3. Ahora cree su apk o paquete de aplicaciones ejecutando flutter build apko con el flutter build appbundlecomando.
Akhil Shukla
fuente
3

El número de versión predeterminado de la aplicación es 1.0.0. Para actualizarlo, navegue hasta el pubspec.yamlarchivo y actualice la siguiente línea:

version: 1.0.0+1

Simplemente cambie esa versión a (según su necesidad)

version: 1.0.1+2

El número de versión son tres números separados por puntos, como 1.0.0 en el ejemplo anterior, seguido de un número de compilación opcional como 1 en el ejemplo anterior, separados por un +.

Tanto la versión como el número de compilación pueden anularse en la compilación de Flutter especificando --build-name y --build-number, respectivamente.

En Android, build-name se usa como versionName mientras que build-number se usa como versionCode. Para obtener más información, consulte Versión de su aplicación

Después de actualizar el número de versión en el pubspec file, ejecute flutter pubget desde la parte superior del proyecto o use el botón Pub get en su IDE. Esto actualiza versionNamey versionCodeen el local.propertiesarchivo, que luego se actualizan en el build.gradlearchivo cuando reconstruyes la aplicación Flutter.

Paresh Mangukiya
fuente
1

Primero un cambio de versión de flutter en pubspec.yaml ejemplo `versión 1.0.3 + 4

En el caso de Android, vaya a local.properties y cambie el nombre de la versión y el código igual que el código y el nombre de la versión de flutter.

En el caso de Ios, vaya a generate.xcconfig que chnage FLUTTER_BUILD_NAME = 1.0.3 FLUTTER_BUILD_NUMBER = 4`

Adán
fuente
no es necesario cambiar las propiedades locales y la configuración generada
Marcel Hofgesang
1

Cheque

android{
//....
  defaultConfig {
  //....
  version code:2
  }
}

en android> aplicación> Build.gradle desde la carpeta raíz de su proyecto

Abhinand VB
fuente
1

Tuve el mismo problema, lo resuelvo reiniciando Android Studio.

Malik Elbadri
fuente
1

Todavía puede hacer completamente lo suyo sobrescribiendo en android / app / build.gradle:

  • def flutterVersionCode
  • def flutterVersionName

a tus propios valores.

0llie
fuente
0
  • en pubspec.yml version: 1.0.0+1
  • cambiar a version: 1.0.0+2
  • flutter build ios --release-name --release-number actualizará la versión en ios
  • flutter pub get && flutter run actualizará la versión para android (android / local.properties)
Sultanmyrza Kasymbekov
fuente