已知問題

Android 問題

  • 如果是隨附語言 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.0com.google.mlkit:language-id:17.0.1 發生當機情形,請加入下列規則:
    -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
    
  • 如果 Bitmap 建構的 InputImage 含有非旋轉角度 Degrees,則自 com.google.mlkit:face-detection:16.0.5com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4 起,FaceDetection API 就會出現「無效旋轉」MlKitException。請使用較舊的版本,並等待下一個發布版本,其中含有這項問題的修正項目。
  • 某些搭載 camera-camera2:1.0.0-beta08 以上版本的某些裝置不支援 com.google.mlkit:barcode-scanning:16.1.0com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3 之前的 BarcodeScanning SDK。如要略過這個問題,您可以使用舊版 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 的圖片格式。

  • 工作回呼可能會在註冊活動或片段後執行。如果回呼嘗試存取已同時關閉的偵測工具,則可能會引發例外狀況。如果您在 Activity 中使用 ML Kit,可以註冊以活動為範圍的事件監聽器,系統會在活動停止時自動移除該事件監聽器。如果您在 Fragment 或其他環境中使用 ML Kit,可以提供自訂執行工具,以便在 Fragment 刪除時關閉執行作業。如需範例,請參閱 Vision 快速入門導覽課程中的 ScopedExecutor.Java

  • 對於內含點陣圖以外的圖片格式的圖片標籤而言,組合變化版本的效能優於依賴 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 相關問題

  • 系統不支援 M1 型 Mac 的模擬器。
  • X86_64 模擬工具不支援翻譯 'GoogleMLKit/Translate', '4.0.0' 以上版本,以及智慧回覆 'GoogleMLKit/SmartReply', '4.0.0' 以上版本。