مشاكل Android
- بالنسبة إلى حزمة Language ID، قد يتعطّل التطبيق عند الترقية إلى الإصدار 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 غير صفرية في حدوث خطأ "تدوير غير صالح" (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على بعض الأجهزة التي تعمل بالإصدار 1.0.0-beta08 أو الإصدارات الأحدث من camera-camera2. يمكنك استخدام إصدار سابق من 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'أو الإصدارات الأحدث من "الرد الذكي".