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

مشاكل 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 من "مكوّن Android الإضافي لبرنامج Gradle" أو إصدار أحدث. لتجنُّب التعطّل في 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 بعد إيقاف Activity أو Fragment الذي تم تسجيلها فيه. قد يؤدي ذلك إلى ظهور استثناء إذا حاولت عملية معاودة الاتصال الوصول إلى أداة رصد تم إغلاقها في هذه الأثناء. إذا كنت تستخدم حزمة تعلّم الآلة في `Activity`، يمكنك تسجيل مستمع على مستوى `Activity` تتم إزالته تلقائيًا عند إيقاف `Activity`. إذا كنت تستخدم حزمة تعلّم الآلة في `Fragment` أو بيئة أخرى، يمكنك توفير منفّذ مخصّص يوقف التنفيذ عند إيقاف `Fragment`. يمكنك الاطّلاع على ScopedExecutor.Java في دليل البدء السريع الخاص بميزة الرؤية للحصول على مثال.

  • بالنسبة إلى ميزة "تصنيف الصور" بتنسيقات صور أخرى غير `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' أو إصدار أحدث والردّ الذكي 'GoogleMLKit/SmartReply', '4.0.0' أو إصدار أحدث.