Проблемы с Android
- В
com.google.mlkit:genai-prompt:1.0.0-beta3иcom.google.mlkit:genai-prompt:1.0.0-beta4вызовdownload()приводит к исключениюjava.lang.NoSuchMethodError, когда загрузка модели завершается или отменяется, если приложение разрешаетkotlinx-coroutinesв версию 1.10.x или более раннюю. В качестве временного решения закрепите версиюkotlinx-coroutines-androidв зависимостях Gradle на уровне1.11.0или выше, пока мы не выпустим исправление в следующем релизе. - В
com.google.mlkit:genai-prompt:1.0.0-beta3иcom.google.mlkit:genai-prompt:1.0.0-beta4при выполнении инференса с кешированием префикса на моделях nano-v4 происходит сбой, когда дляModelConfigзадано значениеModelPreference.FAST. В качестве временного решения до выхода следующей версии можно не указывать параметрModelConfig, чтобы использовать конфигурацию по умолчанию. - В
com.google.mlkit:genai-prompt:1.0.0-beta3вызовcheckStatus()на устройствах, отличных от Pixel, приводит к необработанной ошибкеGenAiException. Используйте более позднюю версию (com.google.mlkit:genai-prompt:1.0.0-beta4или выше). - Если вы используете встроенный Language ID, приложение может аварийно завершать работу после обновления до 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, то при использовании FaceDetection API будет возникать исключение MlKitException с сообщением "invalid rotation", поскольку
com.google.mlkit:face-detection:16.0.5иcom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4. Пожалуйста, используйте более раннюю версию и дождитесь следующего релиза, в котором эта проблема будет устранена. SDK BarcodeScanning версий до
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 уходит больше времени.
Обратные вызовы Task могут выполняться после удаления объекта Activity или фрагмента, в котором они были зарегистрированы. Это может привести к исключению, если функция обратного вызова попытается получить доступ к детектору, который был закрыт. Если вы используете ML Kit в Activity, вы можете зарегистрировать слушателя с областью действия Activity, который будет автоматически удален при остановке Activity. Если вы используете ML Kit во фрагменте или другой среде, вы можете предоставить собственный исполнитель, который завершает выполнение, когда фрагмент уничтожается. Пример можно найти в разделе
ScopedExecutor.Javaкраткого руководства по Vision.Для разметки изображений в форматах, отличных от растрового, вариант с пакетом работает лучше, чем "тонкий" вариант, который зависит от сервисов 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_IMMUTABLEorFLAG_MUTABLEbe specified when creating aPendingIntent. AndroidRuntime: Strongly consider usingFLAG_IMMUTABLE, only useFLAG_MUTABLEif some functionality depends on thePendingIntentbeing 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 не поддерживается для функции "Перевод"
'GoogleMLKit/Translate', '4.0.0'и более поздних версий и функции "Быстрые ответы"'GoogleMLKit/SmartReply', '4.0.0'и более поздних версий.