مشکلات شناخته‌شده

مشکلات 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 Extraction com.google.mlkit:entity-extraction:16.0.0-beta2 یا نسخه‌های قدیمی‌تر، اگر targetSdkVersion را روی ۳۱ تنظیم کنید و در 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 را روی کمتر از ۳۱ تنظیم کنید یا به‌عنوان راه‌حل، موارد زیر را به 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' یا جدیدتر پشتیبانی نمی‌شود.