Znane problemy

Problemy z Androidem

  • W wersjach com.google.mlkit:genai-prompt:1.0.0-beta3 i com.google.mlkit:genai-prompt:1.0.0-beta4 wnioskowanie z buforowaniem prefiksów nie działa w przypadku modeli nano-v4, gdy ModelConfig jest ustawiony na ModelPreference.FAST. Aby obejść ten problem, pomiń ustawienie ModelConfig, aby użyć konfiguracji domyślnej, dopóki nie udostępnimy poprawki w następnej wersji.
  • W wersji com.google.mlkit:genai-prompt:1.0.0-beta3 wywołanie checkStatus() na urządzeniach innych niż Pixel powoduje zgłoszenie nieobsługiwanego wyjątku GenAiException. Użyj nowszej wersji (com.google.mlkit:genai-prompt:1.0.0-beta4 lub nowszej).
  • W przypadku dołączonego identyfikatora języka aplikacja może się zawiesić podczas uaktualniania do wtyczki Androida do obsługi Gradle w wersji 7.0.0 lub nowszej. Aby uniknąć awarii w wersji com.google.mlkit:language-id:16.1.1 lub starszej, dodaj regułę poniżej:
    -keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }
    Aby uniknąć awarii w wersji com.google.mlkit:language-id:17.0.0 lub com.google.mlkit:language-id:17.0.1, dodaj regułę poniżej:
    -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
  • InputImage utworzony przez Bitmap z niezerowym rotationDegrees powoduje wyjątek MlKitException „invalid rotation” w przypadku interfejsu FaceDetection API od wersji com.google.mlkit:face-detection:16.0.5 i com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4. Użyj starszej wersji i poczekaj na następną wersję, która zawiera poprawkę tego problemu.
  • Zestawy SDK do skanowania kodów kreskowych starsze niż com.google.mlkit:barcode-scanning:16.1.0 i com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3 nie działają na niektórych urządzeniach z wersją camera-camera2:1.0.0-beta08 lub nowszą. Aby obejść ten problem, możesz użyć starszej wersji camera-camera2. Na przykład:

    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"

  • Metody natywne mogą być zaciemnione przez reguły niestandardowe w wersji com.google.mlkit:language-id:16.1.1 lub starszej. Jeśli występują błędy takie jak java.lang.UnsatisfiedLinkError, dodaj tę regułę, aby je zachować:

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

  • W przypadku interfejsów Text Recognition, Image Labeling oraz Object Detection and Tracking API skuteczność działania z CameraX i Camera2 nadal nie jest taka sama jak w przypadku Camera1, ponieważ konwersja formatu obrazu z CameraX i Camera2 trwa dłużej.

  • Wywołania zwrotne zadań mogą być wykonywane po zniszczeniu aktywności lub fragmentu, w którym zostały zarejestrowane. Może to spowodować wyjątek, jeśli wywołanie zwrotne próbuje uzyskać dostęp do detektora, który został w międzyczasie zamknięty. Jeśli używasz ML Kit w aktywności, możesz zarejestrować odbiornik o zakresie aktywności, który jest automatycznie usuwany po zatrzymaniu aktywności. Jeśli używasz ML Kit we fragmencie lub innym środowisku, możesz podać niestandardowy wykonawca, który zamyka wykonanie po zniszczeniu fragmentu. ScopedExecutor.Java Przykład znajdziesz w krótkim wprowadzeniu do Vision.

  • W przypadku etykietowania obrazów w formatach innych niż Bitmap dołączony wariant ma lepszą skuteczność niż „cienki” wariant, który zależy od Usług Google Play.

  • W przypadku Digital Ink com.google.mlkit:digital-ink-recognition:17.0.0 lub starszej oraz Entity Extraction com.google.mlkit:entity-extraction:16.0.0-beta2 lub starszej, jeśli ustawisz targetSdkVersion na 31 i uruchomisz na Androidzie S, otrzymasz ten wyjątek czasu wykonywania.

    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.
    
    Ten problem został rozwiązany w nowszych wersjach.

    Jeśli wolisz używać starszych wersji, możesz ustawić targetSdkVersion na wartość mniejszą niż 31 lub dodać do pliku build.gradle to obejście.

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

Problemy związane z iOS

  • Symulatory na komputerach Mac z procesorem M1 nie są obsługiwane.
  • Symulator x86_64 nie jest obsługiwany w przypadku tłumaczenia 'GoogleMLKit/Translate', '4.0.0' lub nowszego oraz inteligentnych odpowiedzi 'GoogleMLKit/SmartReply', '4.0.0' lub nowszych.