Znane problemy

Problemy z Androidem

  • W przypadku pakietu Language ID 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 com.google.mlkit:language-id:16.1.1 lub starszej wersji, dodaj regułę poniżej:
    -keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }
    Aby uniknąć awarii w 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 „invalid rotation” MlKitException w przypadku interfejsu FaceDetection API, ponieważ 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ć zaciemniane przez reguły niestandardowe w com.google.mlkit:language-id:16.1.1 lub starszej wersji. 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ść w CameraX i Camera2 nadal nie jest taka sama jak w 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. Przykład znajdziesz w krótkim wprowadzeniu do Vision.ScopedExecutor.Java

  • W przypadku etykietowania obrazów w formatach innych niż Bitmap pakietowa wersja ma lepszą skuteczność niż wersja „thin”, która zależy od Usług Google Play.

  • W przypadku Digital Ink com.google.mlkit:digital-ink-recognition:17.0.0 lub starszej wersji oraz Entity Extraction com.google.mlkit:entity-extraction:16.0.0-beta2 lub starszej wersji, jeśli ustawisz targetSdkVersion na 31 i uruchomisz na Androidzie S, pojawi się 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 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 Macach 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.