مشکلات 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را به نسخه ۱.۱۰.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، اجرای استنتاج با ذخیره پیشوند در مدلهای 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 نسخه ۷.۰.۰ یا جدیدتر ازکار بیفتد.
برای جلوگیری از خرابی در
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 «چرخش نامعتبر» برای FaceDetection API از
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 که در آن ثبت شدهاند اجرا شوند. اگر فراخوانی برگشتی در این فاصله سعی کند به شناساگری که بسته شده است دسترسی پیدا کند، ممکن است این امر منجر به استثنا شود. اگر از «کیت یادگیری ماشین» در «فعالیت» استفاده میکنید، میتوانید شنونده با محدوده فعالیت ثبت کنید، که وقتی «فعالیت» متوقف میشود بهطور خودکار برداشته میشود. اگر از «کیت یادگیری ماشین» در Fragment یا محیط دیگری استفاده میکنید، میتوانید مجری سفارشیای ارائه دهید که هنگام ازبین رفتن Fragment، اجرا را متوقف کند. برای دیدن نمونه،
ScopedExecutor.Javaرا در شروع سریع Vision ببینید.برای «برچسبگذاری تصویر» با قالبهای تصویری غیراز Bitmap، نوع بستهبندیشده عملکرد بهتری نسبتبه نوع «نازک» دارد که به «خدمات 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'یا جدیدتر پشتیبانی نمیشود.