Saltar al contenido principal

Eliminación de las API Java de Android embedding v1

Aprende cómo tener en cuenta la eliminación de las API de Android v1 embedding.

Resumen

#

El v1 embedding de Android se ha eliminado en Flutter 3.29.0. Esto sigue a la obsolescencia (deprecation) descrita en Deprecación de la creación de aplicaciones y plugins con Android v1 embedding. A continuación se presenta una lista completa de las clases eliminadas.

io.flutter.app.FlutterActivity
io.flutter.app.FlutterActivityDelegate
io.flutter.app.FlutterActivityEvents
io.flutter.app.FlutterApplication
io.flutter.app.FlutterFragmentActivity
io.flutter.app.FlutterPlayStoreSplitApplication
io.flutter.app.FlutterPluginRegistry

io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry
io.flutter.embedding.engine.plugins.shim.ShimRegistrar

io.flutter.view.FlutterMain
io.flutter.view.FlutterNativeView
io.flutter.view.FlutterView

Si tu proyecto hace referencia a alguna de las clases anteriores, consulta la siguiente lista para obtener instrucciones sobre la migración.

  • io.flutter.app.FlutterActivity fue reemplazado por io.flutter.embedding.android.FlutterActivity.
  • io.flutter.app.FlutterActivityDelegate fue reemplazado por io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.
  • io.flutter.app.FlutterActivityEvents fue eliminada.
  • io.flutter.app.FlutterApplication fue eliminada. Los proyectos de Flutter con implementaciones personalizadas de Application deberían en su lugar extender la clase base android.app.Application.
  • io.flutter.app.FlutterFragmentActivity fue reemplazado por io.flutter.embedding.android.FlutterFragmentActivity.
  • io.flutter.app.FlutterPlayStoreSplitApplication fue reemplazado por io.flutter.embedding.android.FlutterPlayStoreSplitApplication.
  • io.flutter.app.FlutterPluginRegistry fue eliminada, ya que solo servía para permitir que los plugins admitieran aplicaciones que usaban el v1 embedding.
  • io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry fue eliminada, ya que solo servía para permitir que los plugins admitieran aplicaciones que usaban el v1 embedding.
  • io.flutter.embedding.engine.plugins.shim.ShimRegistrar fue eliminada, ya que solo servía para permitir que los plugins admitieran aplicaciones que usaban el v1 embedding.
  • io.flutter.view.FlutterMain fue reemplazado por io.flutter.embedding.engine.loader.FlutterLoader.
  • io.flutter.view.FlutterNativeView fue reemplazado por io.flutter.embedding.android.FlutterView.
  • io.flutter.view.FlutterView fue reemplazado por io.flutter.embedding.android.FlutterView.

Autores de plugins

#

Los plugins deben eliminar el método registerWith de su implementación de la interfaz FlutterPlugin:

java
public static void registerWith(@NonNull io.flutter.plugin.common.PluginRegistry.Registrar registrar);

Para un ejemplo de esta migración, echa un vistazo al pull request para eliminar este método de los plugins propiedad del equipo de Flutter: flutter/packages#6494.

Timeline

#

Llegó en la versión: 3.28.0-0.1.pre
En la versión estable: 3.29