مشاكل Android
- بالنسبة إلى حزمة Language ID، قد يتعطّل التطبيق عند الترقية إلى الإصدار 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 غير صفرية في حدوث خطأ "تدوير غير صالح" (invalid rotation) في MlKitException لواجهة برمجة التطبيقات FaceDetection، وذلك لأنّ
com.google.mlkit:face-detection:16.0.5وcom.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4. يُرجى استخدام إصدار أقدم والانتظار إلى حين طرح الإصدار التالي الذي يتضمّن إصلاحًا لهذه المشكلة. لا تعمل حِزم تطوير البرامج (SDK) الخاصة بخدمة 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.
قد يتم تنفيذ عمليات رد الاتصال للمهمة بعد إيقاف النشاط أو الجزء الذي تم تسجيلها فيه. قد يؤدي ذلك إلى حدوث خطأ إذا حاول برنامج معالجة البيانات الوصول إلى أداة رصد تم إغلاقها في الوقت نفسه. إذا كنت تستخدم ML Kit في نشاط، يمكنك تسجيل معالج أحداث بنطاق النشاط، تتم إزالته تلقائيًا عند إيقاف النشاط. إذا كنت تستخدم ML Kit في Fragment أو بيئة أخرى، يمكنك توفير منفّذ مخصّص يوقف التنفيذ عند إيقاف Fragment. يمكنك الاطّلاع على
ScopedExecutor.Javaفي دليل البدء السريع في Vision للحصول على مثال.بالنسبة إلى ميزة "تصنيف الصور" مع أشكال الصور غير Bitmap، يكون أداء الحزمة المتغيرة أفضل من الحزمة "الخفيفة" التي تعتمد على "خدمات Google Play".
بالنسبة إلى الإصدار
com.google.mlkit:digital-ink-recognition:17.0.0من Digital Ink أو الإصدارات الأقدم والإصدارcom.google.mlkit:entity-extraction:16.0.0-beta2من Entity Extraction أو الإصدارات الأقدم، سيظهر لك استثناء وقت التشغيل التالي إذا ضبطت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'أو الإصدارات الأحدث من "الرد الذكي".