Vấn đề đã biết
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Các vấn đề về Android
- Đối với Mã ngôn ngữ đi kèm, ứng dụng có thể gặp sự cố khi nâng cấp lên AGP 7.0.0 trở lên.
Để tránh sự cố trong
com.google.mlkit:language-id:16.1.1
trở xuống, hãy thêm quy tắc dưới đây:
-keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }
Để tránh sự cố trong com.google.mlkit:language-id:17.0.0
hoặc com.google.mlkit:language-id:17.0.1
, hãy thêm quy tắc dưới đây:
-keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
- InputImage do Bitmap tạo ra với rotationDegrees khác 0 sẽ gây ra lỗi "rotation invalid" (xoay không hợp lệ) MlKitException cho API FaceDetection kể từ
com.google.mlkit:face-detection:16.0.5
và com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4
. Vui lòng sử dụng phiên bản cũ hơn và đợi bản phát hành tiếp theo của chúng tôi có bản sửa lỗi cho vấn đề này.
Các SDK BarcodeScanning trước com.google.mlkit:barcode-scanning:16.1.0
và com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3
không hoạt động trên một số thiết bị chạy phiên bản camera-camera2:1.0.0-beta08 trở lên.
Bạn có thể sử dụng phiên bản camera-camera2 cũ hơn để bỏ qua vấn đề này. Ví dụ:
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"
Các phương thức gốc có thể bị làm rối mã nguồn bởi các quy tắc tuỳ chỉnh trong com.google.mlkit:language-id:16.1.1
trở về trước.
Hãy thêm quy tắc sau để giữ lại các tệp đó nếu bạn gặp phải lỗi như java.lang.UnsatisfiedLinkError
:
-keepclasseswithmembernames class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni {
native <methods>;
}
Đối với API Nhận dạng văn bản, Gắn nhãn hình ảnh, Phát hiện và Theo dõi đối tượng, hiệu suất của CameraX và Camera2 vẫn chưa ngang bằng với Camera1, vì mất nhiều thời gian hơn để chuyển đổi định dạng hình ảnh từ CameraX và Camera2.
Phương thức gọi lại Task có thể thực thi sau khi Hoạt động hoặc Mảnh mà các phương thức này đã được đăng ký bị huỷ. Điều này có thể dẫn đến một ngoại lệ nếu lệnh gọi lại cố gắng truy cập vào một trình phát hiện đã bị đóng trong thời gian chờ đợi. Nếu đang sử dụng Bộ công cụ học máy trong một Hoạt động, bạn có thể đăng ký một Trình nghe trong phạm vi Hoạt động. Trình nghe này sẽ tự động bị xoá khi Hoạt động bị dừng. Nếu đang sử dụng Bộ công cụ học máy trong một Mảnh hoặc môi trường khác, bạn có thể cung cấp một trình thực thi tuỳ chỉnh sẽ tắt quá trình thực thi khi Mảnh bị huỷ. Hãy xem ScopedExecutor.Java
trong phần Bắt đầu nhanh về Vision để biết ví dụ.
Đối với tính năng Gắn nhãn hình ảnh có định dạng hình ảnh không phải Bitmap, biến thể đi kèm có hiệu suất tốt hơn biến thể "mỏng" phụ thuộc vào Dịch vụ Google Play.
Đối với Bút cảm ứng kỹ thuật số com.google.mlkit:digital-ink-recognition:17.0.0
trở xuống và tính năng Trích xuất thực thể com.google.mlkit:entity-extraction:16.0.0-beta2
trở xuống, bạn sẽ gặp ngoại lệ thời gian chạy sau đây nếu đặt targetSdkVersion
thành 31 và chạy trên 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.
Vấn đề này đã được khắc phục trong các bản phát hành gần đây.
Nếu muốn sử dụng các phiên bản cũ, bạn có thể đặt targetSdkVersion
thành dưới 31 hoặc thêm nội dung sau vào build.gradle
để khắc phục sự cố.
// For apps targeting Android S+, add the following
constraints {
implementation 'androidx.work:work-runtime:2.7.0-alpha04'
}
Các vấn đề về iOS
- Trình mô phỏng trên máy Mac dựa trên M1 không được hỗ trợ.
- Trình mô phỏng X86_64 không được hỗ trợ cho tính năng Dịch
'GoogleMLKit/Translate', '4.0.0'
trở lên và tính năng Trả lời thông minh 'GoogleMLKit/SmartReply', '4.0.0'
trở lên.
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-08-29 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-08-29 UTC."],[[["\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."]]