Problemas conhecidos

Problemas com o Android

  • Em com.google.mlkit:genai-prompt:1.0.0-beta3 e com.google.mlkit:genai-prompt:1.0.0-beta4, chamar download() gera um java.lang.NoSuchMethodError quando o download do modelo é concluído ou cancelado se o app resolver kotlinx-coroutines para 1.10.x ou versões anteriores. Como solução alternativa, fixe explicitamente kotlinx-coroutines-android em 1.11.0 ou mais recente nas dependências do Gradle até que forneçamos uma correção na próxima versão.
  • Em com.google.mlkit:genai-prompt:1.0.0-beta3 e com.google.mlkit:genai-prompt:1.0.0-beta4, a execução da inferência com o cache de prefixo falha em modelos nano-v4 quando ModelConfig é definido como ModelPreference.FAST. Como solução alternativa, omita a configuração ModelConfig para usar a configuração padrão até que forneçamos uma correção na próxima versão.
  • Em com.google.mlkit:genai-prompt:1.0.0-beta3, chamar checkStatus() em dispositivos que não são Pixel gera um GenAiException não processado. Use uma versão mais recente (com.google.mlkit:genai-prompt:1.0.0-beta4 ou mais recente).
  • Para o ID do idioma agrupado, o app pode falhar ao fazer upgrade para o AGP 7.0.0 ou mais recente. Para evitar a falha no com.google.mlkit:language-id:16.1.1 ou em versões anteriores, inclua a regra abaixo:
    -keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }
    Para evitar a falha em com.google.mlkit:language-id:17.0.0 ou com.google.mlkit:language-id:17.0.1, inclua a regra abaixo:
    -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
  • InputImage construído por Bitmap com um rotationDegrees diferente de zero causa uma MlKitException "rotação inválida" para a API FaceDetection, já que com.google.mlkit:face-detection:16.0.5 e com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4. Use uma versão anterior e aguarde nosso próximo lançamento, que inclui a correção desse problema.
  • Os SDKs BarcodeScanning anteriores a com.google.mlkit:barcode-scanning:16.1.0 e com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3 não funcionam em alguns dispositivos que executam a versão camera-camera2:1.0.0-beta08 ou mais recente. Você pode usar uma versão anterior do camera-camera2 para contornar esse problema. Exemplo:

    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"

  • Os métodos nativos podem ser ofuscados por regras personalizadas no com.google.mlkit:language-id:16.1.1 ou em versões anteriores. Inclua a regra a seguir para mantê-los se você encontrar erros como java.lang.UnsatisfiedLinkError:

    -keepclasseswithmembernames class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni {
      native <methods>;
    }

  • Para as APIs Text Recognition, Image Labeling e Object Detection and Tracking, o desempenho com CameraX e Camera2 ainda não está no mesmo nível do Camera1, porque leva mais tempo para fazer a conversão de formato para imagens do CameraX e do Camera2.

  • Os callbacks Task podem ser executados depois que a atividade ou o fragmento em que foram registrados é destruído. Isso pode gerar uma exceção se o callback tentar acessar um detector que foi fechado nesse período. Se você estiver usando o Kit de ML em uma Activity, registre um listener com escopo de Activity, que é removido automaticamente quando a Activity é interrompida. Se você estiver usando o Kit de ML em um fragmento ou outro ambiente, poderá fornecer um executor personalizado que encerra a execução quando o fragmento é destruído. Consulte ScopedExecutor.Java no guia de início rápido do Vision para conferir um exemplo.

  • Para a rotulagem de imagens com formatos diferentes de bitmap, a variante agrupada tem uma performance melhor do que a variante "fina", que depende do Google Play Services.

  • Para o Digital Ink com.google.mlkit:digital-ink-recognition:17.0.0 ou versões anteriores e a extração de entidades com.google.mlkit:entity-extraction:16.0.0-beta2 ou versões anteriores, você vai receber a seguinte exceção de tempo de execução se definir targetSdkVersion como 31 e executar no 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.
    
    Esse problema foi corrigido nas nossas versões mais recentes.

    Se preferir usar versões mais antigas, defina targetSdkVersion como menor que 31 ou adicione o seguinte ao seu build.gradle como uma solução alternativa.

    // For apps targeting Android S+, add the following
    constraints {
      implementation 'androidx.work:work-runtime:2.7.0-alpha04'
    }

Problemas com o iOS

  • Não há suporte para simuladores em Macs com M1.
  • O simulador X86_64 não é compatível com a Tradução 'GoogleMLKit/Translate', '4.0.0' ou mais recente e a Resposta inteligente 'GoogleMLKit/SmartReply', '4.0.0' ou mais recente.