المشاكل المعروفة

مشاكل 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، يتعذّر تشغيل الاستدلال باستخدام ميزة التخزين المؤقت للبادئة في نماذج 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 أو إصدار أحدث).
  • بالنسبة إلى معرّف اللغة المجمّع، قد يتعطّل التطبيق عند الترقية إلى الإصدار 7.0.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android أو الإصدارات الأحدث. لتجنُّب التعطُّل في الإصدار 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. يُرجى استخدام إصدار سابق والانتظار حتى الإصدار التالي الذي يتضمّن حلّاً لهذه المشكلة.
  • لا تعمل حِزم تطوير البرامج (SDK) لمسح الرموز الشريطية ضوئيًا قبل الإصدار 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 callbacks might execute after the Activity or Fragment in which they have been registered has been destroyed. قد يؤدي ذلك إلى حدوث استثناء إذا حاولت دالة الاستدعاء الوصول إلى أداة رصد تم إغلاقها في هذه الأثناء. إذا كنت تستخدم حزمة تعلّم الآلة في نشاط، يمكنك تسجيل مستمع على مستوى النشاط، والذي تتم إزالته تلقائيًا عند إيقاف النشاط. إذا كنت تستخدم حزمة تعلّم الآلة في Fragment أو بيئة أخرى، يمكنك توفير منفّذ مخصّص يوقف التنفيذ عند تدمير Fragment. يمكنك الاطّلاع على ScopedExecutor.Java في دليل البدء السريع لـ Vision للحصول على مثال.

  • بالنسبة إلى ميزة "تصنيف الصور" التي تستخدم تنسيقات صور غير Bitmap، يحقّق الإصدار المجمّع أداءً أفضل من الإصدار "الرفيع" الذي يعتمد على "خدمات Google Play".

  • بالنسبة إلى الإصدار com.google.mlkit:digital-ink-recognition:17.0.0 أو الإصدارات الأقدم من ميزة "الحبر الرقمي" والإصدار com.google.mlkit:entity-extraction:16.0.0-beta2 أو الإصدارات الأقدم من ميزة "استخراج الكيانات"، سيظهر لك استثناء وقت التشغيل التالي في حال ضبط targetSdkVersion على 31 والتشغيل على 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 على قيمة أقل من 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' من واجهة برمجة التطبيقات Translation API أو الإصدارات الأحدث والإصدار 'GoogleMLKit/SmartReply', '4.0.0' من واجهة برمجة التطبيقات Smart Reply API أو الإصدارات الأحدث.