Znane problemy

Problemy z Androidem

  • W przypadku pakietu Language ID aplikacja może ulec awarii podczas uaktualniania do AGP 7.0.0 lub nowszego. Aby uniknąć awarii w wersji com.google.mlkit:language-id:16.1.1 lub starszej, dodaj poniższą regułę:
    -keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }
    Aby uniknąć awarii w przypadku com.google.mlkit:language-id:17.0.0 lub com.google.mlkit:language-id:17.0.1, dodaj tę regułę:
    -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
  • Obiekt InputImage utworzony przez obiekt Bitmap z niezerową wartością rotationDegrees powoduje wystąpienie wyjątku „invalid rotation” MlKitException w przypadku interfejsu FaceDetection API, ponieważ com.google.mlkit:face-detection:16.0.5com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4. Użyj wcześniejszej wersji i poczekaj na kolejną wersję, która będzie zawierać poprawkę tego problemu.
  • Pakiety SDK BarcodeScanning w wersjach starszych niż com.google.mlkit:barcode-scanning:16.1.0com.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 napotkasz błędy takie jak java.lang.UnsatisfiedLinkError, dodaj tę regułę, aby zachować te pliki:

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

  • W przypadku interfejsów API do rozpoznawania tekstu, etykietowania obrazów oraz wykrywania i śledzenia obiektów wydajność w przypadku CameraX i Camera2 nadal nie jest tak dobra jak w przypadku Camera1, ponieważ konwersja formatu obrazu z CameraX i Camera2 zajmuje więcej czasu.

  • 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 spró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 ograniczony do aktywności, który jest automatycznie usuwany po zatrzymaniu aktywności. Jeśli używasz ML Kit w fragmencie lub innym środowisku, możesz podać niestandardowy wykonawca, który zatrzymuje wykonywanie, gdy fragment zostanie zniszczony. Przykład znajdziesz w sekcji ScopedExecutor.Javakrótkim wprowadzeniu do Vision.

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

  • W przypadku Digital Ink w wersji com.google.mlkit:digital-ink-recognition:17.0.0 lub starszej i wyodrębniania jednostek w wersji com.google.mlkit:entity-extraction:16.0.0-beta2 lub starszej otrzymasz następujący wyjątek czasu wykonania, jeśli ustawisz wartość targetSdkVersion na 31 i uruchomisz aplikację na Androidzie 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.
    
    Ten problem został rozwiązany w nowszych wersjach.

    Jeśli wolisz używać starszych wersji, możesz ustawić wartość targetSdkVersion na mniej 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 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 ani inteligentnych odpowiedzi 'GoogleMLKit/SmartReply', '4.0.0' lub nowszych.