已知问题

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.0com.google.mlkit:language-id:17.0.1 中出现崩溃,请添加以下规则:
    -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
  • 通过使用非零旋转 Degrees 的位图构造的 InputImage 导致“旋转无效” 从 com.google.mlkit:face-detection:16.0.5 开始,FaceDetection API 出现 MlKitException 和 com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4。请使用更早的 并等待包含针对此问题的修复程序的下一个版本。
  • 适用于 com.google.mlkit:barcode-scanning:16.1.0 的 BarcodeScanning SDK 和com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3 在某些运行 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>;
    }

  • 对于文本识别、图像标签和对象检测, 跟踪 API,但使用 CameraX 和 Camera2 时的性能仍然不如预期 使用 Camera1,因为图片格式转换需要更长的时间 CameraX 和 Camera2。

  • 任务 回调可能在发生回调的 Activity 或 Fragment 之后执行 已被销毁。如果回调 在此期间尝试访问已关闭的检测器。如果您 使用机器学习套件,您可以注册 activity 作用域监听器 该 activity 会在 activity 停止时自动移除。如果您 在 Fragment 或其他环境中使用机器学习套件, 在 Fragment 被销毁时关闭执行的执行程序。请参阅 ScopedExecutor.Java(在 Vision 快速入门中学习) 示例。

  • 对于使用除位图以外的图片格式加标签的图片,捆绑式变体 与“瘦”相比依赖于 Google Play 服务的变体。

  • 适用于数字墨水(com.google.mlkit:digital-ink-recognition:17.0.0 或之前) 以及实体提取功能 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 上使用模拟器。
  • Translation 'GoogleMLKit/Translate', '4.0.0' 或更高版本以及智能回复 'GoogleMLKit/SmartReply', '4.0.0' 或更高版本不支持 X86_64 模拟器。