Problemi noti

Problemi con Android

  • In com.google.mlkit:genai-prompt:1.0.0-beta3 e com.google.mlkit:genai-prompt:1.0.0-beta4, la chiamata a download() genera un java.lang.NoSuchMethodError al termine o all'annullamento del download del modello se l'app risolve kotlinx-coroutines in 1.10.x o versioni precedenti. Come soluzione alternativa, blocca esplicitamente kotlinx-coroutines-android su 1.11.0 o versioni successive nelle dipendenze Gradle finché non forniamo una correzione nella prossima release.
  • In com.google.mlkit:genai-prompt:1.0.0-beta3 e com.google.mlkit:genai-prompt:1.0.0-beta4, l'esecuzione dell'inferenza con la memorizzazione nella cache dei prefissi non riesce sui modelli nano-v4 quando ModelConfig è impostato su ModelPreference.FAST. Come soluzione alternativa, ometti l'impostazione ModelConfig per utilizzare la configurazione predefinita, finché non forniamo una correzione nella prossima release.
  • In com.google.mlkit:genai-prompt:1.0.0-beta3, la chiamata di checkStatus() su dispositivi non Pixel genera un GenAiException non gestito. Utilizza una versione successiva (com.google.mlkit:genai-prompt:1.0.0-beta4 o successive).
  • Per l'identificazione della lingua in bundle, l'app potrebbe arrestarsi in modo anomalo durante l'upgrade ad AGP 7.0.0 o versioni successive. Per evitare l'arresto anomalo in com.google.mlkit:language-id:16.1.1 o versioni precedenti, includi la regola riportata di seguito:
    -keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }
    Per evitare l'arresto anomalo in com.google.mlkit:language-id:17.0.0 o com.google.mlkit:language-id:17.0.1, includi la regola riportata di seguito:
    -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
  • InputImage costruito da Bitmap con un valore di rotationDegrees diverso da zero causa un'eccezione "invalid rotation" MlKitException per l'API FaceDetection poiché com.google.mlkit:face-detection:16.0.5 e com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.4. Utilizza una versione precedente e attendi la nostra prossima release, che include la correzione di questo problema.
  • Gli SDK BarcodeScanning precedenti a com.google.mlkit:barcode-scanning:16.1.0 e com.google.android.gms:play-services-mlkit-barcode-scanning:16.1.3 non funzionano su alcuni dispositivi con la versione camera-camera2:1.0.0-beta08 o successive. Puoi utilizzare una versione precedente di camera-camera2 per aggirare questo problema. Ad esempio:

    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"

  • I metodi nativi potrebbero essere offuscati da regole personalizzate in com.google.mlkit:language-id:16.1.1 o versioni precedenti. Includi la seguente regola per conservarli se si verificano errori come java.lang.UnsatisfiedLinkError:

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

  • Per le API Text Recognition, Image Labeling e Object Detection and Tracking, il rendimento con CameraX e Camera2 non è ancora alla pari con Camera1, perché è necessario più tempo per eseguire la conversione del formato per l'immagine da CameraX e Camera2.

  • I callback Task potrebbero essere eseguiti dopo che l'attività o il fragment in cui sono stati registrati è stato eliminato. Ciò potrebbe generare un'eccezione se il callback tenta di accedere a un rilevatore che è stato chiuso nel frattempo. Se utilizzi ML Kit in un'attività, puoi registrare un listener con ambito attività, che viene rimosso automaticamente quando l'attività viene interrotta. Se utilizzi ML Kit in un fragment o in un altro ambiente, puoi fornire un executor personalizzato che interrompe l'esecuzione quando il fragment viene eliminato. Per un esempio, consulta ScopedExecutor.Java nella guida rapida di Vision.

  • Per l'etichettatura delle immagini con formati diversi da Bitmap, la variante in bundle ha un rendimento migliore rispetto alla variante "thin" che dipende da Google Play Services.

  • Per Digital Ink com.google.mlkit:digital-ink-recognition:17.0.0 o versioni precedenti e Estrazione entità com.google.mlkit:entity-extraction:16.0.0-beta2 o versioni precedenti, riceverai la seguente eccezione di runtime se imposti targetSdkVersion su 31 ed esegui l'app su 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.
    
    Questo problema è stato risolto nelle nostre release più recenti.

    Se preferisci utilizzare versioni precedenti, puoi impostare targetSdkVersion su un valore inferiore a 31 o aggiungere quanto segue a build.gradle come soluzione alternativa.

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

Problemi con iOS

  • I simulatori su Mac basati su M1 non sono supportati.
  • Il simulatore X86_64 non è supportato per Traduzione 'GoogleMLKit/Translate', '4.0.0' o versioni successive e Risposta rapida 'GoogleMLKit/SmartReply', '4.0.0' o versioni successive.