AndroidX es una mejora importante de la biblioteca de soporte original de Android.
Proporciona las bibliotecas de paquetes androidx.*
, desvinculadas de la API de la plataforma.Esto significa que ofrece compatibilidad con versiones anteriores y se actualiza con más frecuencia que la plataforma Android.
Preguntas comunes
¿Cómo puedo migrar mi aplicación existente, plugin o proyecto de módulo editable en host a AndroidX?
Necesitarás Android Studio 3.2 o superior. Si no lo tienes instalado, puedes descargar la última versión desde el sitio deAndroid Studio.
- Abre Android Studio.
- Selecciona Abrir un proyecto existente de Android Studio.
- Abre el directorio
android
dentro de tu aplicación. - Espera hasta que el proyecto se haya sincronizado correctamente. (Esto sucede automáticamente una vez que abra el proyecto, pero si no lo hace, seleccione Sincronizar proyecto con archivos Gradle en el menú Archivo).
- Seleccione Migrar a AndroidX en el menú Refactor.
- Si se le pide que haga una copia de seguridad del proyecto antes de proceder, marque Copia de seguridad del proyecto como archivo Zip, y luego haga clic en Migrar. Por último, guarde el archivo zip en la ubicación que prefiera.
- La vista previa de la refactorización muestra la lista de cambios. Finalmente, haga clic en Hacer refactorización:
- ¡Ya está! Has migrado con éxito tu proyecto a AndroidX.
Por último, si has migrado un plugin, publica la nueva versión de AndroidX en pub y actualiza tu CHANGELOG.md
para indicar que esta nueva versión es compatible con AndroidX.
¿Qué pasa si no puedo usar Android Studio?
Puedes crear un nuevo proyecto usando la herramienta Flutter y luego mover el código y los activos de Dart al nuevo proyecto.
Para crear un nuevo proyecto ejecute:
flutter create -t <project-type> <new-project-path>
Añadir a la aplicación
Si su proyecto Flutter es de tipo módulo para añadir a una aplicación Android existente, ycontiene un directorio .android
, añada la siguiente línea a pubspec.yaml
:
module: ... androidX: true # Add this line.
Por último, ejecute flutter clean
.
Si su módulo contiene un directorio android
en su lugar, entonces siga los pasos de la sección anterior.
¿Cómo sé si mi proyecto está utilizando AndroidX?
A partir de Flutter v1.12.13, los nuevos proyectos creados con flutter create -t <project-type>
utilizan AndroidX por defecto.
Los proyectos creados antes de esta versión de Flutter no deben depender de ningún artefacto de compilación ni de ninguna clase de la biblioteca de soporte anterior.
En un proyecto de aplicación o módulo, el archivo android/gradle.properties
o .android/gradle.properties
debe contener:
android.useAndroidX=trueandroid.enableJetifier=true
¿Qué ocurre si no migro mi aplicación o módulo a AndroidX?
Tu aplicación puede seguir funcionando. Sin embargo, la combinación de AndroidX y los artefactos de soporte generalmente no se recomienda porque puede dar lugar a conflictos de dependencia u otro tipo de fallos de Gradle. Como resultado, a medida que más plugins migran a AndroidX, es probable que los plugins que dependen de las bibliotecas del núcleo de Android provoquen fallos de compilación.
¿Qué ocurre si mi aplicación se migra a AndroidX, pero no todos los plugins que utilizo?
La herramienta Flutter utiliza Jetifier para migrar automáticamente los plugins de Flutter que utilizan la biblioteca de soporte a AndroidX, por lo que puedes utilizar los mismos plugins aunque no se hayan migrado a AndroidX todavía.
Tengo problemas para migrar a AndroidX
Abre una incidencia en GitHub y añade al título de la incidencia.