مشکلات 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را بهطور صریح به1.11.0یا جدیدتر در وابستگیهای Gradle خود سنجاق کنید تا زمانی که در نسخه بعدی اصلاحیهای ارائه دهیم. - در
com.google.mlkit:genai-prompt:1.0.0-beta3وcom.google.mlkit:genai-prompt:1.0.0-beta4، وقتیModelConfigرویModelPreference.FASTتنظیم شده باشد، اجرای استنباط با پیشوند ذخیرهسازی در مدلهای nano-v4 با خطا مواجه میشود. تا زمانی که در نسخه بعدی اصلاحیه ارائه کنیم، بهعنوان راهکار موقت، تنظیمModelConfigرا حذف کنید تا از پیکربندی پیشفرض استفاده شود. - در
com.google.mlkit:genai-prompt:1.0.0-beta3، فراخوانیcheckStatus()در دستگاههای غیرPixel باعث ایجادGenAiExceptionمدیریتنشده میشود. از نسخه جدیدتری استفاده کنید (com.google.mlkit:genai-prompt:1.0.0-beta4یا جدیدتر). - برای «شناسه زبان» دستهای، ممکن است برنامه هنگام ارتقا به 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 برای «میانای برنامهسازی کاربردی تشخیص چهره» میشود زیرا
com.google.mlkit:face-detection:16.0.5وcom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4. لطفاً از نسخه قدیمیتر استفاده کنید و منتظر نسخه پخش بعدی ما که شامل رفع این مشکل است بمانید. «کیتهای توسعه نرمافزار» 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>; }برای «تشخیص نوشتار»، «برچسبگذاری تصویر»، و «تشخیص و ردیابی شیء» با CameraX و Camera2، عملکرد همچنان با Camera1 برابری نمیکند، زیرا تبدیل قالب برای تصویر از CameraX و Camera2 زمان بیشتری میبرد.
ممکن است فراخوانیهای برگشتی Task پساز نابود شدن Activity یا Fragment که در آن ثبت شدهاند اجرا شوند. اگر فراخوانی برگشتی در این فاصله سعی کند به شناساگری که بسته شده است دسترسی پیدا کند، ممکن است این امر منجر به استثنا شود. اگر در «فعالیت» از ML Kit استفاده میکنید، میتوانید شنوده با محدوده فعالیت ثبت کنید که وقتی «فعالیت» متوقف میشود بهطور خودکار برداشته میشود. اگر از «کیت یادگیری ماشین» در Fragment یا محیط دیگری استفاده میکنید، میتوانید مجری سفارشیای ارائه دهید که وقتی Fragment ازبین میرود، اجرا را متوقف کند. برای مثال،
ScopedExecutor.Javaرا در شروع سریع Vision ببینید.برای «برچسبگذاری تصویر» با قالبهای تصویری غیر از «بیتمپ»، گونه دستهای عملکرد بهتری نسبتبه گونه «نازک» که به «خدمات Google Play» وابسته است دارد.
برای Digital Ink
com.google.mlkit:digital-ink-recognition:17.0.0یا نسخههای قدیمیتر و Entity Extractioncom.google.mlkit:entity-extraction:16.0.0-beta2یا نسخههای قدیمیتر، اگرtargetSdkVersionرا روی ۳۱ تنظیم کنید و در 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را روی کمتر از ۳۱ تنظیم کنید یا راهحل زیر را به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'یا جدیدتر پشتیبانی نمیشود.