Problemy z Androidem
- W przypadku
com.google.mlkit:genai-prompt:1.0.0-beta3icom.google.mlkit:genai-prompt:1.0.0-beta4wywołaniedownload()powoduje zgłoszenie wyjątkujava.lang.NoSuchMethodErrorpo zakończeniu lub anulowaniu pobierania modelu, jeśli aplikacja rozpoznajekotlinx-coroutinesjako wersję 1.10.x lub starszą. Jako obejście tego problemu przypnij jawniekotlinx-coroutines-androiddo1.11.0lub nowszej wersji w zależnościach Gradle, dopóki nie wprowadzimy poprawki w następnej wersji. - W
com.google.mlkit:genai-prompt:1.0.0-beta3icom.google.mlkit:genai-prompt:1.0.0-beta4wnioskowanie z pamięcią podręczną prefiksów kończy się niepowodzeniem w przypadku modeli nano-v4, gdy parametrModelConfigma wartośćModelPreference.FAST. Aby obejść ten problem, pomiń ustawienieModelConfig, aby użyć konfiguracji domyślnej, dopóki nie wprowadzimy poprawki w kolejnej wersji. - W
com.google.mlkit:genai-prompt:1.0.0-beta3wywołaniecheckStatus()na urządzeniach innych niż Pixel powoduje nieobsłużony wyjątekGenAiException. Użyj nowszej wersji (com.google.mlkit:genai-prompt:1.0.0-beta4lub nowszej). - W przypadku pakietu Language ID aplikacja może ulec awarii 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.1lub starszej, dodaj poniższą regułę: Aby uniknąć awarii w przypadku-keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }com.google.mlkit:language-id:17.0.0lubcom.google.mlkit:language-id:17.0.1, uwzględnij poniższą 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.5icom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4. Użyj starszej wersji i poczekaj na kolejną wersję, która będzie zawierać poprawkę tego problemu. Pakiety SDK do skanowania kodów kreskowych w wersjach wcześniejszych niż
com.google.mlkit:barcode-scanning:16.1.0icom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3nie działają na niektórych urządzeniach z aparatem w wersji camera-camera2:1.0.0-beta08 lub nowszej. 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.1lub starszej. Jeśli napotkasz błędy takie jakjava.lang.UnsatisfiedLinkError, dodaj tę regułę, aby zachować te pliki:-keepclasseswithmembernames class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { native <methods>; }W przypadku interfejsów Text Recognition, Image Labeling oraz Object Detection and Tracking 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 o zakresie 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.Javaw krótkim wprowadzeniu do Vision.W przypadku etykietowania obrazów w formatach innych niż bitmapa wersja pakietowa ma lepszą wydajność niż wersja „cienka”, która zależy od Usług Google Play.
W przypadku Digital Ink w wersji
com.google.mlkit:digital-ink-recognition:17.0.0lub starszej i wyodrębniania jednostek w wersjicom.google.mlkit:entity-extraction:16.0.0-beta2lub starszej otrzymasz następujący wyjątek czasu działania, jeśli ustawisz wartośćtargetSdkVersionna 31 i uruchomisz aplikację na Androidzie S. Ten problem został rozwiązany w nowszych wersjach.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.Jeśli wolisz używać starszych wersji, możesz ustawić wartość
targetSdkVersionna mniej niż 31 lub dodać dobuild.gradleponiższy kod.// For apps targeting Android S+, add the following constraints { implementation 'androidx.work:work-runtime:2.7.0-alpha04' }
Problemy z iOS
- Symulatory na komputerach Mac z układem M1 nie są obsługiwane.
- Symulator X86_64 nie jest obsługiwany w przypadku tłumaczenia
'GoogleMLKit/Translate', '4.0.0'ani nowszego oraz inteligentnych odpowiedzi'GoogleMLKit/SmartReply', '4.0.0'ani nowszych.