Problèmes Android
- Dans
com.google.mlkit:genai-prompt:1.0.0-beta3etcom.google.mlkit:genai-prompt:1.0.0-beta4, l'appel dedownload()génère unejava.lang.NoSuchMethodErrorlorsque le téléchargement du modèle se termine ou est annulé si l'application résoutkotlinx-coroutinesen 1.10.x ou une version antérieure. Pour contourner ce problème, épinglez explicitementkotlinx-coroutines-androidà1.11.0ou 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-beta3etcom.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 lorsqueModelConfigest défini surModelPreference.FAST. Pour contourner ce problème, omettez le paramètreModelConfigpour 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 decheckStatus()sur des appareils autres que Pixel génère une exceptionGenAiExceptionnon gérée. Utilisez une version ultérieure (com.google.mlkit:genai-prompt:1.0.0-beta4ou 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.1ou une version antérieure, incluez la règle ci-dessous : Pour éviter le plantage dans-keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }com.google.mlkit:language-id:17.0.0oucom.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.5etcom.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.0etcom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3ne 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.1ou une version antérieure. Incluez la règle suivante pour les conserver si vous rencontrez des erreurs telles quejava.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.Javadans 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.0ou version antérieure et Entity Extractioncom.google.mlkit:entity-extraction:16.0.0-beta2ou version antérieure, vous obtiendrez l'exception d'exécution suivante si vous définisseztargetSdkVersionsur 31 et que vous exécutez l'application sur Android S. Ce problème a été résolu dans nos versions plus récentes.Targeting S+ (version 31 and above) requires that one of
FLAG_IMMUTABLEorFLAG_MUTABLEbe specified when creating aPendingIntent. AndroidRuntime: Strongly consider usingFLAG_IMMUTABLE, only useFLAG_MUTABLEif some functionality depends on thePendingIntentbeing mutable, e.g. if it needs to be used with inline replies or bubbles.Si vous préférez utiliser des versions plus anciennes, vous pouvez définir
targetSdkVersionsur une valeur inférieure à 31 ou ajouter ce qui suit à votrebuild.gradlecomme 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.