בעיות מוכרות

בעיות ב-Android

  • אם משתמשים ב-Language ID בחבילה, האפליקציה עשויה לקרוס כשמשדרגים ל-AGP 7.0.0 ואילך. כדי למנוע את קריסה ב-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 מסוג 'invalid rotation' ב-FaceDetection API החל מ-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>;
    }

  • ב-API לזיהוי טקסט, לתיוג תמונות ולזיהוי ומעקב אחר אובייקטים, הביצועים של CameraX ו-Camera2 עדיין לא זהים לאלה של Camera1, כי נדרש יותר זמן כדי לבצע המרה של פורמט תמונה מ-CameraX ו-Camera2.

  • יכול להיות שהקריאות החוזרות של Task יבוצעו אחרי שהפעילות או הפלח שבהם הן רשומות יימחקו. כתוצאה מכך, יכול להיות שייגרם חריג אם פונקציית ה-callback תנסה לגשת לגלאי שנסגר בינתיים. אם אתם משתמשים ב-ML Kit בפעילות, אתם יכולים לרשום מאזין ברמת הפעילות, שיימחק באופן אוטומטי כשהפעילות תיפסק. אם אתם משתמשים ב-ML Kit ב-Fragment או בסביבה אחרת, תוכלו לספק מבצע מותאם אישית שיסגור את הביצוע כשה-Fragment נהרס. לדוגמה, אפשר לעיין ב-ScopedExecutor.Java במדריך למתחילים ב-Vision.

  • כשמשתמשים בתיוג תמונות עם פורמטים של תמונות שאינם Bitmap, לגרסה המקובצת יש ביצועים טובים יותר מאשר לגרסה 'דקה' שתלויות ב-Google Play Services.

  • לגרסה 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_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' ואילך.