---
# System prepended metadata

title: Migrar flutter de 1.22.6 a 2.8.1 y 2.10.0
tags: [Migration, Flutter, Fix, Migración, Migrate, Null Safety]

---

###### tags: `Flutter` `Migration` `Migración` `Migrate` `Null Safety` `Fix`

# Migrar flutter de 1.22.6 a 2.8.1 y 2.10.0

## Flutter 2.8.1 Instalado

### Proyecto en flutter 1.22.6

* Verificar los paquetes que tienen compatibilidad con ***null safety*** 
> En la consola correr --> `dart pub outdated --mode=null-safety`
* Aplicar ***Flutter fix***
 >En la consola correr --> `dart fix --dry-run` para ver los cambios disponibles
 En la consola correr --> `dart fix --apply` para aplicar todos los cambios

* Actualizar los paquetes a ***null safety***
> En la consola correr --> `dart pub upgrade --null-safety`

* Quitar todas las importaciones a paquetes que no se esten usando
* Migrar el proyecto
>En la consola Correr --> `dart migrate` 
  Si no se genera ningun error, verificar los cambios que se van a aplicar en el monitor web y aplicar los cambios.
  
* En **android/build.gradle** actualizar lo siguiente:
>Actualizar la version del pugin de kotlin --> `ext.kotlin_version = '1.6.10'` 
  Actualizar la version del pugin de grade --> `'com.android.tools.build:gradle:4.1.0'`

* En **android/app/build.gradle** actualizar lo siguiente
 >`-compileSdkVersion 31`
  `-minSdkVersion 21`
  `-targetSdkVersion 31`

* En **android/gradle/gradle-wrapper.properties** actualizar lo siguiente
>`distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip`

#### Con esto la app deberia correr en la version 2.8.1 de flutter, si ya has corregido todas las advertencias o errores de null safety en tu codigo.


# Actualizar a flutter 2.10.0

* En la consola Correr el comando `Futter Upgrade`
* Agragar las siguientes lineas en el archivo **android/app/src/main/AndroidManifest.xml**
>-En todos los <activiti que contengan un <intent-filter
`<activity`
           ` android:name=".MainActivity"`
            `android:launchMode="singleTop"`
            `android:theme="@style/LaunchTheme"`
            `**android:exported="true" --->>> Linea nueva**`
-Si aun no tenias habilitado el embedding 2, deberas poner estas lineas debajo del activity
 `</activity>`
        `<meta-data`
            `android:name="flutterEmbedding"`
            `android:value="2" />`
-Mofificar esta linea --> `android:name="io.flutter.app.FlutterApplication"`
por esta `android:name="${applicationName}"`
-- Si sale algun error, seguir los pasos descritos en este **[link](https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects)**

* Para crear la carpeta windows en el proyecto migrado de flutter 2.8.1  corren el comando `flutter create .` estando en la version 2.10.0

* Actualiza la version minima del sdk en el archivo **pubspec.yaml** a 
   `sdk: '>=2.16.0 <3.0.0'`
* Agrega `flutter_lints: ^1.0.0` en **dev_dependencies** para ver las correcciones de codigo mas recientres.
* Nuevamente Aplicar ***Flutter fix***
 >En la consola correr --> `dart fix --dry-run` para ver los cambios disponibles.
 -En la consola correr --> `dart fix --apply` para aplicar todos los cambios.
 Habran cambios que ***Flutter Fix*** no arregla, tendras que corregir manualmente

### Listo, puedes ejecutar tu proyecto.

##### Esos son todos los pasos que yo segui para poder migrar mis aplicaciones de flutter 1.22.6 a flutter 2.10.0
