مشاكل 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_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على أقل من 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'أو إصدار أحدث.