Bekannte Probleme

Probleme unter Android

  • In com.google.mlkit:genai-prompt:1.0.0-beta3 und com.google.mlkit:genai-prompt:1.0.0-beta4 schlägt die Inferenz mit Präfix-Caching bei nano-v4-Modellen fehl, wenn ModelConfig auf ModelPreference.FAST festgelegt ist. Als Problemumgehung können Sie die Einstellung ModelConfig weglassen, um die Standardkonfiguration zu verwenden, bis wir im nächsten Release eine Lösung bereitstellen.
  • In com.google.mlkit:genai-prompt:1.0.0-beta3 wird beim Aufrufen von checkStatus() auf Nicht-Pixel-Geräten eine nicht behandelte GenAiException ausgelöst. Verwenden Sie eine neuere Version (com.google.mlkit:genai-prompt:1.0.0-beta4 oder höher).
  • Bei der gebündelten Sprach-ID kann die App abstürzen, wenn Sie ein Upgrade auf AGP 7.0.0 oder höher ausführen. Um den Absturz in com.google.mlkit:language-id:16.1.1 oder früher zu vermeiden, fügen Sie die folgende Regel ein:
    -keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }
    Um den Absturz in com.google.mlkit:language-id:17.0.0 oder com.google.mlkit:language-id:17.0.1 zu vermeiden, fügen Sie die folgende Regel ein:
    -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
  • Wenn Sie ein InputImage aus einem Bitmap mit einem Wert ungleich null für „rotationDegrees“ erstellen, wird für die FaceDetection API eine „invalid rotation“-MlKitException ausgelöst, da com.google.mlkit:face-detection:16.0.5 und com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4 verwendet werden. Verwenden Sie eine frühere Version und warten Sie auf unser nächstes Release, das die Lösung für dieses Problem enthält.
  • BarcodeScanning SDKs vor com.google.mlkit:barcode-scanning:16.1.0 und com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3 funktionieren auf einigen Geräten mit der Version camera-camera2:1.0.0-beta08 oder höher nicht. Sie können eine frühere Version von camera-camera2 verwenden, um dieses Problem zu umgehen. Beispiel:

    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"

  • Native Methoden können durch benutzerdefinierte Regeln in com.google.mlkit:language-id:16.1.1 oder früher verschleiert werden. Fügen Sie die folgende Regel ein, um sie beizubehalten, wenn Fehler wie java.lang.UnsatisfiedLinkError auftreten:

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

  • Bei den APIs für Texterkennung, Bilderkennung und Objekterkennung und ‑verfolgung ist die Leistung mit CameraX und Camera2 immer noch nicht so gut wie mit Camera1, da die Formatkonvertierung für Bilder von CameraX und Camera2 mehr Zeit in Anspruch nimmt.

  • Task Callbacks können ausgeführt werden, nachdem die Aktivität oder das Fragment, in dem sie registriert wurden, zerstört wurde. Dies kann zu einer Ausnahme führen, wenn der Callback versucht, auf einen Detektor zuzugreifen, der in der Zwischenzeit geschlossen wurde. Wenn Sie ML Kit in einer Aktivität verwenden, können Sie einen Listener mit Aktivitätsbereichregistrieren, der automatisch entfernt wird, wenn die Aktivität beendet wird. Wenn Sie ML Kit in einem Fragment oder einer anderen Umgebung verwenden, können Sie einen benutzerdefinierten Executor bereitstellen, der die Ausführung beendet, wenn das Fragment zerstört wird. Ein Beispiel finden Sie unter ScopedExecutor.Java in der Kurzanleitung zu Vision.

  • Bei der Bilderkennung mit anderen Bildformaten als Bitmap bietet die gebündelte Variante eine bessere Leistung als die „Thin“-Variante, die von Google Play-Diensten abhängt.

  • Bei Digital Ink com.google.mlkit:digital-ink-recognition:17.0.0 oder früher und Entity Extraction com.google.mlkit:entity-extraction:16.0.0-beta2 oder früher wird die folgende Laufzeitausnahme ausgelöst, wenn Sie targetSdkVersion auf 31 festlegen und unter Android S ausführen.

    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.
    
    Dieses Problem wurde in unseren neueren Releases behoben.

    Wenn Sie ältere Versionen verwenden möchten, können Sie targetSdkVersion auf einen Wert unter 31 festlegen oder als Problemumgehung Folgendes zu Ihrer build.gradle-Datei hinzufügen.

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

Probleme unter iOS

  • Simulatoren auf M1-basierten Macs werden nicht unterstützt.
  • Der X86_64-Simulator wird für die Übersetzung 'GoogleMLKit/Translate', '4.0.0' oder höher und für Smart Reply 'GoogleMLKit/SmartReply', '4.0.0' oder höher nicht unterstützt.