Problemas conhecidos

Problemas com o Android

  • No com.google.mlkit:genai-prompt:1.0.0-beta3 e no com.google.mlkit:genai-prompt:1.0.0-beta4, chamar download() gera uma java.lang.NoSuchMethodError quando o download do modelo é concluído ou cancelado, se o app resolver kotlinx-coroutines para 1.10.x ou anterior. Como solução alternativa, fixe explicitamente kotlinx-coroutines-android em 1.11.0 ou mais recente nas dependências do Gradle até que uma correção seja fornecida 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 de inferência com armazenamento em 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 uma correção seja fornecida na próxima versão.
  • No com.google.mlkit:genai-prompt:1.0.0-beta3, chamar checkStatus() em dispositivos que não são Pixel gera uma GenAiException não processada. Use uma versão mais recente (com.google.mlkit:genai-prompt:1.0.0-beta4 ou posterior).
  • Para o ID de idioma em pacote, 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 { *; }
  • O InputImage criado pelo Bitmap com um rotationDegrees diferente de zero causa uma MlKitException de "rotação inválida" para a API FaceDetection desde 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 nossa próxima versão, que inclui a correção para esse problema.
  • Os SDKs do 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 com 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 de reconhecimento de texto, rotulagem de imagens e detecção de objeto e rastreamento, o desempenho com o CameraX e o Camera2 ainda não está no mesmo nível do Camera1, porque leva mais tempo para fazer a conversão de formato de imagem do CameraX e do Camera2.

  • Os callbacks de Task podem ser executados depois que a atividade ou o fragmento em que foram registrados é destruído. Isso pode levar a uma exceção se o callback tentar acessar um detector que foi fechado nesse meio tempo. Se você estiver usando o Kit de ML em uma atividade, poderá registrar um listener com escopo de atividade, que é removido automaticamente quando a atividade é 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 ver um exemplo.

  • Para rotulagem de imagens com formatos da imagem diferentes de Bitmap, a variante em pacote tem um desempenho melhor do que a variante "thin", que depende do Google Play Services.

  • Para o Digital Ink com.google.mlkit:digital-ink-recognition:17.0.0 ou anterior e a Extração de Entidades com.google.mlkit:entity-extraction:16.0.0-beta2 ou anterior, você vai receber a seguinte exceção de ambiente 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 versões mais recentes.

    Se preferir usar versões mais antigas, defina targetSdkVersion como menos de 31 ou adicione o seguinte ao 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 processador M1.
  • O simulador X86_64 não é compatível com a Tradução 'GoogleMLKit/Translate', '4.0.0' ou mais recente e com a Resposta Inteligente 'GoogleMLKit/SmartReply', '4.0.0' ou mais recente.