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'eccezione java.lang.NoSuchMethodError quando il download del modello viene completato o annullato 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 forniremo 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 del prefisso 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 forniremo una correzione nella prossima release.
  • In com.google.mlkit:genai-prompt:1.0.0-beta3, la chiamata a 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'ID 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 seguente:
    -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 seguente:
    -keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
  • InputImage costruito da Bitmap con un valore rotationDegrees diverso da zero causa un'eccezione MlKitException "rotazione non valida" per l'API FaceDetection da 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 alla versione 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. Per aggirare il problema, puoi utilizzare una versione precedente di camera-camera2. 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 mantenerli se riscontri errori come java.lang.UnsatisfiedLinkError:

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

  • Per le API di riconoscimento del testo, etichettatura delle immagini e rilevamento e tracciamento degli oggetti, le prestazioni con CameraX e Camera2 non sono ancora alla pari con Camera1, perché la conversione del formato dell'immagine da CameraX e Camera2 richiede più tempo.

  • I callback di Task potrebbero essere eseguiti dopo che l'attività o il frammento in cui sono stati registrati sono stati eliminati. Ciò potrebbe causare un'eccezione se il callback tenta di accedere a un rilevatore che nel frattempo è stato chiuso. 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 frammento o in un altro ambiente, puoi fornire un esecutore personalizzato che interrompe l'esecuzione quando il frammento viene eliminato. Per un esempio, consulta ScopedExecutor.Java nella guida rapida di Vision.

  • Per l'etichettatura delle immagini con formati dell'immagine 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 ed Estrazione di 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 Translation 'GoogleMLKit/Translate', '4.0.0' o versioni successive e Risposta rapida 'GoogleMLKit/SmartReply', '4.0.0' o versioni successive.