已知問題
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
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 { *; }
- 自
com.google.mlkit:face-detection:16.0.5
和 com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4
起,如果使用非零值的 rotationDegrees 建構 InputImage,會導致 FaceDetection API 發生「無效旋轉」的 MlKitException。請使用較舊版本,並等待下次發布的版本,其中包含此問題的修正項目。
在某些搭載 camera-camera2:1.0.0-beta08 以上版本的裝置上,BarcodeScanning SDK 會在 com.google.mlkit:barcode-scanning:16.1.0
和 com.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 模擬器。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-29 (世界標準時間)。
[null,null,["上次更新時間:2025-08-29 (世界標準時間)。"],[[["\u003cp\u003eUpgrading to AGP 7.0.0+ with bundled Language ID may cause crashes, requiring specific keep rules to be added for different versions.\u003c/p\u003e\n"],["\u003cp\u003eInputImage created with Bitmap and rotationDegrees may cause errors with FaceDetection API in specific versions; use earlier versions or await a fix.\u003c/p\u003e\n"],["\u003cp\u003eBarcodeScanning SDKs before 16.1.0/16.1.3 have compatibility issues with camera-camera2:1.0.0-beta08+, consider using earlier camera-camera2 versions.\u003c/p\u003e\n"],["\u003cp\u003eTask callbacks may execute after Activity/Fragment destruction, potentially causing exceptions; use Activity-scoped listeners or custom executors for mitigation.\u003c/p\u003e\n"],["\u003cp\u003eOn Android S with targetSdkVersion 31, Digital Ink and Entity Extraction SDKs before specific versions may cause runtime exceptions regarding PendingIntent flags; upgrade to newer SDKs or apply a workaround.\u003c/p\u003e\n"]]],["Key actions and information regarding Android issues include: adding specific `-keep` rules to avoid crashes when using Language ID with AGP 7.0.0 or later; using earlier versions of Face Detection and Barcode Scanning due to \"invalid rotation\" and camera compatibility issues; adding a rule to fix `UnsatisfiedLinkError` with Language ID. Performance with CameraX/Camera2 is not optimized for Text Recognition, Image Labeling, and Object Detection. Activity-scoped listeners can be registered to prevent exceptions with Task callbacks. Setting `targetSdkVersion` or adding constraints to address Digital Ink and Entity Extraction issues.\n"],null,["Android issues\n\n- For bundled Language ID, the app may crash when upgrading to AGP 7.0.0 or later. To avoid the crash in `com.google.mlkit:language-id:16.1.1` or earlier, include the rule below: \n\n ```scdoc\n -keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }\n ```\n To avoid the crash in `com.google.mlkit:language-id:17.0.0` or `com.google.mlkit:language-id:17.0.1`, include the rule below: \n\n ```scdoc\n -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }\n ```\n- InputImage constructed by Bitmap with a non zero rotationDegrees causes an \"invalid rotation\" MlKitException for FaceDetection API since `com.google.mlkit:face-detection:16.0.5` and `com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4`. Please use an earlier version and wait for our next release which includes the fix for this issue.\n- BarcodeScanning SDKs pior to `com.google.mlkit:barcode-scanning:16.1.0`\n and `com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3`\n do not work on some devices running with camera-camera2:1.0.0-beta08 version or later.\n You can use an earlier version of camera-camera2 to bypass this issue. For example:\n\n ```carbon\n implementation \"androidx.camera:camera-core:1.0.0-beta07\"\n implementation \"androidx.camera:camera-camera2:1.0.0-beta07\"\n implementation \"androidx.camera:camera-view:1.0.0-alpha14\"\n implementation \"androidx.camera:camera-extensions:1.0.0-alpha14\"\n implementation \"androidx.camera:camera-lifecycle:1.0.0-beta07\"\n ```\n\n \u003cbr /\u003e\n\n- Native methods might be obfuscated by custom rules in `com.google.mlkit:language-id:16.1.1` or earlier.\n Include the following rule to keep them if you encounter errors like `java.lang.UnsatisfiedLinkError`:\n\n ```text\n -keepclasseswithmembernames class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni {\n native \u003cmethods\u003e;\n }\n ```\n\n \u003cbr /\u003e\n\n- For the Text Recognition, Image Labeling, and Object Detection and\n Tracking APIs, the performance with CameraX and Camera2 is still not on par\n with Camera1, because it takes more time to do format conversion for image\n from CameraX and Camera2.\n\n- [Task](https://developers.google.com/android/guides/tasks)\n callbacks might execute after the Activity or Fragment in which they have been\n registered has been destroyed. This might lead to an exception if the callback\n tries to access a detector that has been closed in the meantime. If you are\n using ML Kit in an Activity, you can register an\n [Activity-scoped listener](https://developers.google.com/android/guides/tasks#activity-scoped_listeners),\n which is automatically removed when the Activity is stopped. If you are\n using ML Kit in a Fragment or other environment, you can provide a custom\n executor that shuts down execution when the Fragment is destroyed. See\n `ScopedExecutor.Java` in the [Vision Quickstart](https://github.com/googlesamples/mlkit/tree/master/android/vision-quickstart) for an\n example.\n\n- For Image Labeling with image formats other than Bitmap, bundled variant\n has better performance than \"thin\" variant that depends on Google Play Services.\n\n- For Digital Ink `com.google.mlkit:digital-ink-recognition:17.0.0` or earlier\n and Entity Extraction `com.google.mlkit:entity-extraction:16.0.0-beta2` or earlier,\n you will get the following runtime exception if you set `targetSdkVersion` to 31\n and run on Android S.\n\n Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.\n 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.\n\n This issue is fixed in our more recent releases.\n\n \u003cbr /\u003e\n\n If you prefer using older versions, you can either set `targetSdkVersion` to\n less than 31 or add the following to your `build.gradle` as a workaround. \n\n ```carbon\n // For apps targeting Android S+, add the following\n constraints {\n implementation 'androidx.work:work-runtime:2.7.0-alpha04'\n }\n ```\n\n \u003cbr /\u003e\n\niOS issues\n\n- Simulators on M1-based Mac are not supported.\n- X86_64 simulator is not supported for Translation `'GoogleMLKit/Translate', '4.0.0'` or later and Smart Reply `'GoogleMLKit/SmartReply', '4.0.0'` or later."]]