Problèmes connus

Problèmes Android

  • Dans com.google.mlkit:genai-prompt:1.0.0-beta3 et com.google.mlkit:genai-prompt:1.0.0-beta4, l'appel de download() génère une java.lang.NoSuchMethodError lorsque le téléchargement du modèle se termine ou est annulé si l'application résout kotlinx-coroutines en 1.10.x ou une version antérieure. Pour contourner ce problème, épinglez explicitement kotlinx-coroutines-android à 1.11.0 ou une version ultérieure dans vos dépendances Gradle jusqu'à ce que nous fournissions un correctif dans la prochaine version.
  • Dans com.google.mlkit:genai-prompt:1.0.0-beta3 et com.google.mlkit:genai-prompt:1.0.0-beta4, l'exécution de l'inférence avec la mise en cache des préfixes échoue sur les modèles nano-v4 lorsque ModelConfig est défini sur ModelPreference.FAST. Pour contourner ce problème, omettez le paramètre ModelConfig pour utiliser la configuration par défaut, jusqu'à ce que nous fournissions un correctif dans la prochaine version.
  • Dans com.google.mlkit:genai-prompt:1.0.0-beta3, l'appel de checkStatus() sur des appareils autres que Pixel génère une exception GenAiException non gérée. Utilisez une version ultérieure (com.google.mlkit:genai-prompt:1.0.0-beta4 ou ultérieure).
  • Pour l'identification de la langue groupée, l'application peut planter lors de la mise à niveau vers AGP 7.0.0 ou version ultérieure. Pour éviter le plantage dans com.google.mlkit:language-id:16.1.1 ou une version antérieure, incluez la règle ci-dessous :
    -keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }
    Pour éviter le plantage dans com.google.mlkit:language-id:17.0.0 ou com.google.mlkit:language-id:17.0.1, incluez la règle ci-dessous :
    -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
  • InputImage construit par Bitmap avec un rotationDegrees non nul provoque une exception MlKitException "invalid rotation" pour l'API FaceDetection depuis com.google.mlkit:face-detection:16.0.5 et com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4. Veuillez utiliser une version antérieure et attendre notre prochaine version, qui inclura le correctif pour ce problème.
  • Les SDK BarcodeScanning antérieurs à com.google.mlkit:barcode-scanning:16.1.0 et com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3 ne fonctionnent pas sur certains appareils exécutant la version 1.0.0-beta08 ou ultérieure de camera-camera2. Vous pouvez utiliser une version antérieure de camera-camera2 pour contourner ce problème. Exemple :

    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"

  • Les méthodes natives peuvent être obscurcies par des règles personnalisées dans com.google.mlkit:language-id:16.1.1 ou une version antérieure. Incluez la règle suivante pour les conserver si vous rencontrez des erreurs telles que java.lang.UnsatisfiedLinkError :

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

  • Pour les API de reconnaissance de texte, d'étiquetage d'images, et de détection d'objet et de suivi, les performances avec CameraX et Camera2 ne sont toujours pas comparables à celles de Camera1, car la conversion du format d'image à partir de CameraX et Camera2 prend plus de temps.

  • Les rappels de tâche peuvent s'exécuter après la destruction de l'activité ou du fragment dans lequel ils ont été enregistrés. Cela peut entraîner une exception si le rappel tente d'accéder à un détecteur qui a été fermé entre-temps. Si vous utilisez ML Kit dans une activité, vous pouvez enregistrer un écouteur limité à l'activité, qui est automatiquement supprimé lorsque l'activité est arrêtée. Si vous utilisez ML Kit dans un fragment ou un autre environnement, vous pouvez fournir un exécuteur personnalisé qui arrête l'exécution lorsque le fragment est détruit. Pour obtenir un exemple, consultez ScopedExecutor.Java dans le guide de démarrage rapide de Vision.

  • Pour l'étiquetage d'images avec des formats d'image autres que Bitmap, la variante groupée offre de meilleures performances que la variante "thin" qui dépend des services Google Play.

  • Pour Digital Ink com.google.mlkit:digital-ink-recognition:17.0.0 ou version antérieure et Entity Extraction com.google.mlkit:entity-extraction:16.0.0-beta2 ou version antérieure, vous obtiendrez l'exception d'exécution suivante si vous définissez targetSdkVersion sur 31 et que vous exécutez l'application sur 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.
    
    Ce problème a été résolu dans nos versions plus récentes.

    Si vous préférez utiliser des versions plus anciennes, vous pouvez définir targetSdkVersion sur une valeur inférieure à 31 ou ajouter ce qui suit à votre build.gradle comme solution de contournement.

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

Problèmes iOS

  • Les simulateurs sur les Mac équipés d'une puce M1 ne sont pas compatibles.
  • Le simulateur X86_64 n'est pas compatible avec Translation 'GoogleMLKit/Translate', '4.0.0' ou version ultérieure, ni avec Réponse suggérée 'GoogleMLKit/SmartReply', '4.0.0' ou version ultérieure.