Известные проблемы

Проблемы с Android

  • При использовании встроенного идентификатора языка приложение может аварийно завершать работу при обновлении до AGP 7.0.0 или более поздней версии. Чтобы избежать сбоя в com.google.mlkit:language-id:16.1.1 или более ранних версиях, добавьте следующее правило:
    -keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }
    Чтобы избежать сбоя в com.google.mlkit:language-id:17.0.0 или com.google.mlkit:language-id:17.0.1 , добавьте следующее правило:
    -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
  • Создание объекта InputImage с помощью Bitmap с ненулевым значением rotationDegrees приводит к ошибке MlKitException "invalid rotation" для API FaceDetection, начиная с com.google.mlkit:face-detection:16.0.5 и com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4 . Пожалуйста, используйте более раннюю версию и дождитесь следующего релиза, в котором будет исправлена ​​эта проблема.
  • SDK для сканирования штрих-кодов, выпущенные до com.google.mlkit:barcode-scanning:16.1.0 и com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3 не работают на некоторых устройствах с версией camera-camera2:1.0.0-beta08 или более поздней. Для решения этой проблемы можно использовать более раннюю версию camera-camera2. Например:

    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"

  • Нативные методы могут быть обфусцированы пользовательскими правилами в com.google.mlkit:language-id:16.1.1 или более ранних версиях. Добавьте следующее правило, чтобы сохранить их, если вы столкнетесь с ошибками типа java.lang.UnsatisfiedLinkError :

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

  • Что касается API распознавания текста, маркировки изображений, а также обнаружения и отслеживания объектов, производительность CameraX и Camera2 по-прежнему не дотягивает до Camera1, поскольку преобразование формата изображений из CameraX и Camera2 занимает больше времени.

  • Обратные вызовы задач могут выполняться после уничтожения Activity или Fragment, в котором они зарегистрированы. Это может привести к исключению, если обратный вызов попытается получить доступ к детектору, который был закрыт к тому времени. Если вы используете ML Kit в Activity, вы можете зарегистрировать слушатель, ограниченный областью действия Activity , который автоматически удаляется при остановке Activity. Если вы используете ML Kit во Fragment или другой среде, вы можете предоставить пользовательский исполнитель, который завершает выполнение при уничтожении Fragment. Пример см. в ScopedExecutor.Java в руководстве Vision Quickstart .

  • Для разметки изображений в форматах, отличных от Bitmap, встроенный вариант демонстрирует лучшую производительность, чем «упрощенный» вариант, зависящий от сервисов Google Play.

  • Для Digital Ink com.google.mlkit:digital-ink-recognition:17.0.0 или более ранних версий и Entity Extraction com.google.mlkit:entity-extraction:16.0.0-beta2 или более ранних версий при установке targetSdkVersion в значение 31 и запуске на Android 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.
    
    Эта проблема исправлена ​​в наших последних версиях.

    Если вы предпочитаете использовать более старые версии, вы можете либо установить targetSdkVersion меньше 31, либо добавить следующее в ваш build.gradle в качестве обходного пути.

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

Проблемы с iOS

  • Симуляторы на компьютерах Mac с процессором M1 не поддерживаются.
  • Симулятор X86_64 не поддерживается для Translation 'GoogleMLKit/Translate', '4.0.0' или более поздней версии и Smart Reply 'GoogleMLKit/SmartReply', '4.0.0' или более поздней версии.