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 un java.lang.NoSuchMethodError lorsque le téléchargement du modèle est terminé ou annulé si l'application résout kotlinx-coroutines sur la version 1.10.x ou antérieure. En attendant que nous fournissions un correctif dans la prochaine version, vous pouvez explicitement épingler kotlinx-coroutines-android sur 1.11.0 ou une version ultérieure dans vos dépendances Gradle.
  • 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. En attendant que nous fournissions une solution dans la prochaine version, vous pouvez omettre le paramètre ModelConfig pour utiliser la configuration par défaut.
  • Dans com.google.mlkit:genai-prompt:1.0.0-beta3, l'appel de checkStatus() sur des appareils autres que Pixel génère une 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 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 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 et suivi d'objets, les performances avec CameraX et Camera2 ne sont toujours pas à la hauteur de celles de Camera1, car la conversion de format pour les images provenant de CameraX et Camera2 prend plus de temps.

  • Les rappels Task peuvent s'exécuter après la destruction de l'activité ou du fragment dans lesquels 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 à portée d'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 le libellé d'images avec des formats d'image autres que Bitmap, la variante groupée offre de meilleures performances que la variante "fine" 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 exécutez 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 les plus récentes.

    Si vous préférez utiliser des versions antérieures, 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 liés à iOS

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