已知問題

Android 問題

  • 在 com.google.mlkit:genai-prompt:1.0.0-beta3 和 com.google.mlkit:genai-prompt:1.0.0-beta4 中,如果應用程式將 kotlinx-coroutines 解析為 1.10.x 或更早版本,當模型下載完成或取消時,呼叫 download() 會擲回 java.lang.NoSuchMethodError。為解決這個問題,請在 Gradle 依附元件中,將 kotlinx-coroutines-android 明確固定為 1.11.0 或更新版本,直到我們在下一個版本中提供修正為止。
  • 在 com.google.mlkit:genai-prompt:1.0.0-beta3 和 com.google.mlkit:genai-prompt:1.0.0-beta4 中,當 ModelConfig 設為 ModelPreference.FAST 時,使用前置字串快取執行推論作業會在 nano-v4 模型上失敗。做為暫時解決方法,請省略 ModelConfig 設定,使用預設設定,直到我們在下一個版本中提供修正程式為止。
  • 在 com.google.mlkit:genai-prompt:1.0.0-beta3 中,對非 Pixel 裝置進行 checkStatus() 呼叫會擲回未處理的 GenAiException。使用較新版本 (com.google.mlkit:genai-prompt:1.0.0-beta4 以上版本)。
  • 如果使用隨附的語言 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 { *; }
  • 如果使用 Bitmap 建構 InputImage,且 rotationDegrees 不為零,FaceDetection API 會擲回「invalid rotation」MlKitException,因為 com.google.mlkit:face-detection:16.0.5 和 com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4。請使用舊版,並等待下一個版本發布,其中會包含這個問題的修正程式。
  • 在搭載 camera-camera2:1.0.0-beta08 以上版本的裝置上,com.google.mlkit:barcode-scanning:16.1.0和 com.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 模擬器。