Errores conocidos

Problemas en Android

  • En el caso del ID de idioma incluido, es posible que la app falle cuando se actualice a AGP 7.0.0 o versiones posteriores. Para evitar la falla en com.google.mlkit:language-id:16.1.1 o versiones anteriores, incluye la siguiente regla:
    -keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }
    Para evitar la falla en com.google.mlkit:language-id:17.0.0 o com.google.mlkit:language-id:17.0.1, incluye la siguiente regla:
    -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
  • InputImage construido por Bitmap con un rotationDegrees distinto de cero causa una MlKitException de "rotación no válida" para la API de FaceDetection desde com.google.mlkit:face-detection:16.0.5 y com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4. Usa una versión anterior y espera nuestro próximo lanzamiento, que incluye la solución para este problema.
  • Los SDKs de BarcodeScanning anteriores a com.google.mlkit:barcode-scanning:16.1.0 y com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3 no funcionan en algunos dispositivos que ejecutan la versión camera-camera2:1.0.0-beta08 o posterior. Puedes usar una versión anterior de camera-camera2 para evitar este problema. Por ejemplo:

    implementation "androidx.camera:camera-core:1.0.0-beta07"
    implementation "androidx.camera:camera-camera2:1.0.0-beta07"
    implementation "androidx.camera:camera-view:1.0.0-alpha14"
    implementation "androidx.camera:camera-extensions:1.0.0-alpha14"
    implementation "androidx.camera:camera-lifecycle:1.0.0-beta07"

  • Los métodos nativos pueden estar ofuscados por reglas personalizadas en com.google.mlkit:language-id:16.1.1 o versiones anteriores. Incluye la siguiente regla para conservarlos si encuentras errores como java.lang.UnsatisfiedLinkError:

    -keepclasseswithmembernames class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni {
      native <methods>;
    }

  • En el caso de las APIs de Text Recognition, Image Labeling y Object Detection and Tracking, el rendimiento con CameraX y Camera2 aún no está a la par con Camera1, ya que lleva más tiempo realizar la conversión de formato para la imagen de CameraX y Camera2.

  • Es posible que las devoluciones de llamada de tareas se ejecuten después de que se destruya la actividad o el fragmento en el que se registraron. Esto puede generar una excepción si la devolución de llamada intenta acceder a un detector que se cerró mientras tanto. Si usas ML Kit en una actividad, puedes registrar un objeto de escucha con alcance de actividad, que se quita automáticamente cuando se detiene la actividad. Si usas ML Kit en un fragmento o en otro entorno, puedes proporcionar un ejecutor personalizado que detenga la ejecución cuando se destruya el fragmento. Consulta ScopedExecutor.Java en la Guía de inicio rápido de Vision para ver un ejemplo.

  • En el caso de Image Labeling con formatos de imagen que no sean Bitmap, la variante incluida tiene un mejor rendimiento que la variante "delgada" que depende de los Servicios de Google Play.

  • En el caso de Digital Ink com.google.mlkit:digital-ink-recognition:17.0.0 o versiones anteriores y Entity Extraction com.google.mlkit:entity-extraction:16.0.0-beta2 o versiones anteriores, obtendrás la siguiente excepción de tiempo de ejecución si configuras targetSdkVersion en 31 y ejecutas en Android S.

    Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
    AndroidRuntime: Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
    
    Este problema se corrigió en nuestras versiones más recientes.

    Si prefieres usar versiones anteriores, puedes configurar targetSdkVersion en menos de 31 o agregar lo siguiente a tu build.gradle como solución alternativa.

    // For apps targeting Android S+, add the following
    constraints {
      implementation 'androidx.work:work-runtime:2.7.0-alpha04'
    }

Problemas en iOS

  • No se admiten simuladores en Mac basados en M1.
  • No se admite el simulador X86_64 para Translation 'GoogleMLKit/Translate', '4.0.0' o versiones posteriores, ni Smart Reply 'GoogleMLKit/SmartReply', '4.0.0' o versiones posteriores.