已知問題

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 { *; }
  • com.google.mlkit:face-detection:16.0.5com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4 起,如果使用非零值的 rotationDegrees 建構 Bitmap,就會導致 FaceDetection API 發生「無效旋轉」的 MlKitException。請使用較舊版本,並等待下次發布的版本,其中包含此問題的修正項目。
  • 在某些搭載 camera-camera2:1.0.0-beta08 以上版本的裝置上,BarcodeScanning SDK 會在 com.google.mlkit:barcode-scanning:16.1.0com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3 之前的版本中無法運作。您可以使用舊版的 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 回呼可能會在註冊的 Activity 或 Fragment 遭到銷毀後執行。如果回呼嘗試存取已關閉的偵測器,可能會導致例外狀況。如果您在 Activity 中使用 ML Kit,可以註冊Activity 範圍的事件監聽器,該事件監聽器會在 Activity 停止時自動移除。如果您在 Fragment 或其他環境中使用 ML Kit,可以提供自訂執行緒,在 Fragment 遭到銷毀時關閉執行作業。如需範例,請參閱 Vision 快速入門中的 ScopedExecutor.Java

  • 如果圖片標註使用的是點陣圖以外的圖片格式,則套裝組合變數的效能會優於依賴 Google Play 服務的「精簡」變數。

  • 如果您將 targetSdkVersion 設為 31,並在 Android S 上執行,則 Digital Ink com.google.mlkit:digital-ink-recognition:17.0.0 或更早版本,以及實體擷取 com.google.mlkit:entity-extraction:16.0.0-beta2 或更早版本,會發生下列執行階段例外狀況。

    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 模擬器。