Problemas en Android
- En el caso del ID de idioma empaquetado, 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: Para evitar la falla en-keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }
com.google.mlkit:language-id:17.0.0
ocom.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 valor de 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
ycom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4
. Usa una versión anterior y espera a la próxima versión, que incluirá la solución para este problema. Los SDKs de BarcodeScanning anteriores a
com.google.mlkit:barcode-scanning:16.1.0
ycom.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"
Es posible que las reglas personalizadas ofusquen los métodos nativos en
com.google.mlkit:language-id:16.1.1
o versiones anteriores. Incluye la siguiente regla para conservarlos si encuentras errores comojava.lang.UnsatisfiedLinkError
:-keepclasseswithmembernames class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { native <methods>; }
En el caso de las APIs de reconocimiento de texto, etiquetado de imágenes, detección y seguimiento de objetos, el rendimiento con CameraX y Camera2 aún no está a la par de Camera1, ya que lleva más tiempo realizar la conversión de formato para imágenes de CameraX y Camera2.
Es posible que las devoluciones de llamada de Task se ejecuten después de que se destruya la actividad o el fragmento en el que se registraron. Esto podría generar una excepción si la devolución de llamada intenta acceder a un detector que se cerró mientras tanto. Si estás usando ML Kit en una actividad, puedes registrar un objeto de escucha centrado en la 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 cierre 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 del etiquetado de imágenes con formatos de imagen distintos de Bitmap, la variante empaquetada tiene un mejor rendimiento que la variante "delgada" que depende de los Servicios de Google Play.
Para Digital Ink
com.google.mlkit:digital-ink-recognition:17.0.0
o versiones anteriores y Entity Extractioncom.google.mlkit:entity-extraction:16.0.0-beta2
o versiones anteriores, obtendrás la siguiente excepción de tiempo de ejecución si configurastargetSdkVersion
en 31 y ejecutas en Android S. Este problema se corrigió en nuestras versiones más recientes.Targeting S+ (version 31 and above) requires that one of
FLAG_IMMUTABLE
orFLAG_MUTABLE
be specified when creating aPendingIntent
. AndroidRuntime: Strongly consider usingFLAG_IMMUTABLE
, only useFLAG_MUTABLE
if some functionality depends on thePendingIntent
being mutable, e.g. if it needs to be used with inline replies or bubbles.Si prefieres usar versiones anteriores, puedes establecer
targetSdkVersion
en menos de 31 o agregar lo siguiente a tubuild.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 con procesador M1.
- El simulador X86_64 no es compatible con la traducción
'GoogleMLKit/Translate', '4.0.0'
o versiones posteriores, ni con la respuesta inteligente'GoogleMLKit/SmartReply', '4.0.0'
o versiones posteriores.