Android 问题
- 对于捆绑的语言 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 { *; } - 如果使用具有非零 rotationDegrees 的 Bitmap 构建 InputImage,则 FaceDetection API 会因
com.google.mlkit:face-detection:16.0.5和com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4而导致“无效旋转”MlKitException。请使用较低版本,并等待我们发布包含此问题修复的下一个版本。 在
com.google.mlkit:barcode-scanning:16.1.0和com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3之前的 BarcodeScanning SDK 在某些运行 camera-camera2:1.0.0-beta08 或更高版本的设备上无法正常运行。 您可以使用较低版本的 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>; }对于 Text Recognition、Image Labeling 和 Object Detection and Tracking API,CameraX 和 Camera2 的性能仍不及 Camera1,因为 CameraX 和 Camera2 中的图片需要更多时间进行格式转换。
任务 回调可能会在注册回调的 activity 或 fragment 销毁后执行。如果回调尝试访问在此期间已关闭的检测器,则可能会导致异常。如果您在 Activity 中使用机器学习套件,则可以注册 Activity 范围的监听器, 该监听器会在 Activity 停止时自动移除。如果您在 Fragment 或其他环境中使用机器学习套件,则可以提供自定义执行器,该执行器会在 Fragment 销毁时关闭执行。如需查看示例,请参阅 Vision Quickstart 中的
ScopedExecutor.Java。对于使用 Bitmap 以外的图片格式的 Image Labeling,捆绑变体的性能优于依赖于 Google Play 服务的“精简”变体。
对于 Digital Ink
com.google.mlkit:digital-ink-recognition:17.0.0或更低版本以及 Entity Extractioncom.google.mlkit:entity-extraction:16.0.0-beta2或更低版本,如果您将targetSdkVersion设置为 31 并在 Android S 上运行,则会收到以下运行时异常。 此问题已在我们最新版本中得到修复。Targeting S+ (version 31 and above) requires that one of
FLAG_IMMUTABLEorFLAG_MUTABLEbe specified when creating aPendingIntent. AndroidRuntime: Strongly consider usingFLAG_IMMUTABLE, only useFLAG_MUTABLEif some functionality depends on thePendingIntentbeing 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 上的模拟器。
- Translation
'GoogleMLKit/Translate', '4.0.0'或更高版本以及 Smart Reply'GoogleMLKit/SmartReply', '4.0.0'或更高版本不支持 X86_64 模拟器。