Problèmes connus
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Problèmes Android
- Pour l'ID de langue groupé, 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 degré de rotation non nul provoque une exception MlKit "rotation non valide" 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 de 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 camera-camera2:1.0.0-beta08 ou ultérieure.
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, de libellé d'image, de détection et de 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 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 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 de portée 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 en savoir plus, consultez ScopedExecutor.Java
dans le guide de démarrage rapide de Vision.
Pour le libellé d'image avec des formats d'image autres que le 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 le code 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 est résolu dans nos versions les 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
en guise de 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 Mac basés sur M1 ne sont pas acceptés.
- 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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/29 (UTC).
[null,null,["Dernière mise à jour le 2025/08/29 (UTC)."],[[["\u003cp\u003eUpgrading to AGP 7.0.0+ with bundled Language ID may cause crashes, requiring specific keep rules to be added for different versions.\u003c/p\u003e\n"],["\u003cp\u003eInputImage created with Bitmap and rotationDegrees may cause errors with FaceDetection API in specific versions; use earlier versions or await a fix.\u003c/p\u003e\n"],["\u003cp\u003eBarcodeScanning SDKs before 16.1.0/16.1.3 have compatibility issues with camera-camera2:1.0.0-beta08+, consider using earlier camera-camera2 versions.\u003c/p\u003e\n"],["\u003cp\u003eTask callbacks may execute after Activity/Fragment destruction, potentially causing exceptions; use Activity-scoped listeners or custom executors for mitigation.\u003c/p\u003e\n"],["\u003cp\u003eOn Android S with targetSdkVersion 31, Digital Ink and Entity Extraction SDKs before specific versions may cause runtime exceptions regarding PendingIntent flags; upgrade to newer SDKs or apply a workaround.\u003c/p\u003e\n"]]],["Key actions and information regarding Android issues include: adding specific `-keep` rules to avoid crashes when using Language ID with AGP 7.0.0 or later; using earlier versions of Face Detection and Barcode Scanning due to \"invalid rotation\" and camera compatibility issues; adding a rule to fix `UnsatisfiedLinkError` with Language ID. Performance with CameraX/Camera2 is not optimized for Text Recognition, Image Labeling, and Object Detection. Activity-scoped listeners can be registered to prevent exceptions with Task callbacks. Setting `targetSdkVersion` or adding constraints to address Digital Ink and Entity Extraction issues.\n"],null,["Android issues\n\n- For bundled Language ID, the app may crash when upgrading to AGP 7.0.0 or later. To avoid the crash in `com.google.mlkit:language-id:16.1.1` or earlier, include the rule below: \n\n ```scdoc\n -keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }\n ```\n To avoid the crash in `com.google.mlkit:language-id:17.0.0` or `com.google.mlkit:language-id:17.0.1`, include the rule below: \n\n ```scdoc\n -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }\n ```\n- InputImage constructed by Bitmap with a non zero rotationDegrees causes an \"invalid rotation\" MlKitException for FaceDetection API since `com.google.mlkit:face-detection:16.0.5` and `com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4`. Please use an earlier version and wait for our next release which includes the fix for this issue.\n- BarcodeScanning SDKs pior to `com.google.mlkit:barcode-scanning:16.1.0`\n and `com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3`\n do not work on some devices running with camera-camera2:1.0.0-beta08 version or later.\n You can use an earlier version of camera-camera2 to bypass this issue. For example:\n\n ```carbon\n implementation \"androidx.camera:camera-core:1.0.0-beta07\"\n implementation \"androidx.camera:camera-camera2:1.0.0-beta07\"\n implementation \"androidx.camera:camera-view:1.0.0-alpha14\"\n implementation \"androidx.camera:camera-extensions:1.0.0-alpha14\"\n implementation \"androidx.camera:camera-lifecycle:1.0.0-beta07\"\n ```\n\n \u003cbr /\u003e\n\n- Native methods might be obfuscated by custom rules in `com.google.mlkit:language-id:16.1.1` or earlier.\n Include the following rule to keep them if you encounter errors like `java.lang.UnsatisfiedLinkError`:\n\n ```text\n -keepclasseswithmembernames class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni {\n native \u003cmethods\u003e;\n }\n ```\n\n \u003cbr /\u003e\n\n- For the Text Recognition, Image Labeling, and Object Detection and\n Tracking APIs, the performance with CameraX and Camera2 is still not on par\n with Camera1, because it takes more time to do format conversion for image\n from CameraX and Camera2.\n\n- [Task](https://developers.google.com/android/guides/tasks)\n callbacks might execute after the Activity or Fragment in which they have been\n registered has been destroyed. This might lead to an exception if the callback\n tries to access a detector that has been closed in the meantime. If you are\n using ML Kit in an Activity, you can register an\n [Activity-scoped listener](https://developers.google.com/android/guides/tasks#activity-scoped_listeners),\n which is automatically removed when the Activity is stopped. If you are\n using ML Kit in a Fragment or other environment, you can provide a custom\n executor that shuts down execution when the Fragment is destroyed. See\n `ScopedExecutor.Java` in the [Vision Quickstart](https://github.com/googlesamples/mlkit/tree/master/android/vision-quickstart) for an\n example.\n\n- For Image Labeling with image formats other than Bitmap, bundled variant\n has better performance than \"thin\" variant that depends on Google Play Services.\n\n- For Digital Ink `com.google.mlkit:digital-ink-recognition:17.0.0` or earlier\n and Entity Extraction `com.google.mlkit:entity-extraction:16.0.0-beta2` or earlier,\n you will get the following runtime exception if you set `targetSdkVersion` to 31\n and run on Android S.\n\n Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.\n 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.\n\n This issue is fixed in our more recent releases.\n\n \u003cbr /\u003e\n\n If you prefer using older versions, you can either set `targetSdkVersion` to\n less than 31 or add the following to your `build.gradle` as a workaround. \n\n ```carbon\n // For apps targeting Android S+, add the following\n constraints {\n implementation 'androidx.work:work-runtime:2.7.0-alpha04'\n }\n ```\n\n \u003cbr /\u003e\n\niOS issues\n\n- Simulators on M1-based Mac are not supported.\n- X86_64 simulator is not supported for Translation `'GoogleMLKit/Translate', '4.0.0'` or later and Smart Reply `'GoogleMLKit/SmartReply', '4.0.0'` or later."]]