已知問題

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.0com.google.mlkit:language-id:17.0.1 發生當機情形,請加入下列規則:
    -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
  • 如果使用 Bitmap 建構 InputImage,且 rotationDegrees 不為零,則 FaceDetection API 會發生「無效的旋轉」MlKitException,因為 com.google.mlkit:face-detection:16.0.5com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4。請使用舊版,並等待下一個版本發布,其中會修正這個問題。
  • 在部分搭載 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 或 Fragment 遭到刪除後執行。如果回呼嘗試存取這段期間已關閉的偵測器,可能會導致例外狀況。如果您在 Activity 中使用 ML Kit,可以註冊 Activity 範圍的監聽器,該監聽器會在 Activity 停止時自動移除。如果您在 Fragment 或其他環境中使用 ML Kit,可以提供自訂執行器,在 Fragment 遭到終止時關閉執行作業。如需範例,請參閱 Vision 快速入門導覽課程中的ScopedExecutor.Java

  • 如果圖片標記的圖片格式不是點陣圖,與 Google Play 服務相關的「精簡」變體相比,隨附的變體效能較佳。

  • 如果是 Digital Ink com.google.mlkit:digital-ink-recognition:17.0.0 或更早版本,以及 Entity Extraction 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 模擬器。
  • 翻譯 'GoogleMLKit/Translate', '4.0.0' 以上版本和智慧回覆 'GoogleMLKit/SmartReply', '4.0.0' 以上版本不支援 X86_64 模擬器。