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 wird beim Aufrufen von download() eine java.lang.NoSuchMethodError ausgelöst, wenn der Modelldownload abgeschlossen oder abgebrochen wird, wenn die App kotlinx-coroutines in 1.10.x oder früher auflöst. Als Behelfslösung können Sie kotlinx-coroutines-android in Ihren Gradle-Abhängigkeiten explizit an 1.11.0 oder höher anpinnen, bis wir im nächsten Release eine Lösung bereitstellen.
  • In com.google.mlkit:genai-prompt:1.0.0-beta3 und com.google.mlkit:genai-prompt:1.0.0-beta4 schlägt die Ausführung von Inferenz mit Präfix-Caching bei nano-v4-Modellen fehl, wenn ModelConfig auf ModelPreference.FAST gesetzt ist. Als Behelfslösung 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 Geräten, die keine Pixel-Geräte sind, ein nicht verarbeiteter GenAiException ausgelöst. Verwenden Sie eine neuere Version (com.google.mlkit:genai-prompt:1.0.0-beta4 oder höher).
  • Wenn die Sprach-ID im Bundle enthalten ist, kann die App beim Upgrade auf AGP 7.0.0 oder höher abstürzen. Wenn Sie den Absturz in com.google.mlkit:language-id:16.1.1 oder einer früheren Version vermeiden möchten, fügen Sie die folgende Regel hinzu:
    -keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }
    Fügen Sie die folgende Regel hinzu, um den Absturz in com.google.mlkit:language-id:17.0.0 oder com.google.mlkit:language-id:17.0.1 zu vermeiden:
    -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
  • Ein InputImage, das von einer Bitmap mit einem rotationDegrees-Wert ungleich null erstellt wurde, verursacht seit com.google.mlkit:face-detection:16.0.5 und com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4 eine MlKitException „Ungültige Drehung“ für die FaceDetection API. Verwenden Sie eine frühere Version und warten Sie auf die nächste Version, die die Fehlerbehebung 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 hinzu, 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, Bild-Labeling sowie Objekterkennung und -tracking ist die Leistung mit CameraX und Camera2 immer noch nicht mit Camera1 vergleichbar, da die Formatkonvertierung für Bilder von CameraX und Camera2 mehr Zeit in Anspruch nimmt.

  • Task-Callbacks werden möglicherweise ausgeführt, nachdem die Aktivität oder das Fragment, in dem sie registriert wurden, gelöscht 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 aktivitätsbezogenen Listener registrieren, 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 gelöscht wird. Ein Beispiel finden Sie unter ScopedExecutor.Java in der Vision-Kurzanleitung.

  • Bei der Bild-Labelerstellung mit anderen Bildformaten als Bitmap bietet die gebündelte Variante eine bessere Leistung als die „Thin“-Variante, die von den 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 auf 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 neueren Versionen behoben.

    Wenn Sie ältere Versionen verwenden möchten, können Sie entweder targetSdkVersion auf einen Wert kleiner als 31 festlegen oder Folgendes als Problemumgehung zu Ihrer build.gradle 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 Übersetzungsfunktion ab Version 'GoogleMLKit/Translate', '4.0.0' und die Funktion „Intelligente Antwort“ ab Version 'GoogleMLKit/SmartReply', '4.0.0' nicht unterstützt.