flutter doctor licenses android-licenses fornisce un errore java


Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
    at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
    at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 5 more

Ottengo questo errore sopra durante l'esecuzione di flutter doctor licenses android-licenses. Qualcuno sa perché questo sta accadendo e come posso risolverlo? Lo sto già eseguendo sulla console flutter.

Author: Vivek Kogilathota, 2020-05-24

6 answers

InstallazioneAndroid SDK Strumenti da riga di comando daAndroid SDK Manager ha fatto il lavoro per me.

  1. Apri Strumenti > Gestore SDK
  2. Da sinistra scegliere, Aspetto e comportamento > Impostazioni di sistema > Android SDK
  3. Selezionare Strumenti SDK dal menu in alto
  4. ControllareAndroid SDK Strumenti della riga di comando e fare clic su 'applica'.
 86
Author: sariDon, 2020-10-01 20:31:14

Installare gli strumenti della riga di comando di Android SDK da Android SDK Manager ha risolto il mio problema.

  1. Apri Strumenti - > SDK Manager
  2. Aspetto e comportamento > Impostazioni di sistema > Android SDK
  3. Selezionare Strumenti SDK dal menu in alto. Controllare gli strumenti della riga di comando di Android SDK e fare clic su "Applica"
 10
Author: Chamod Dissanayake, 2020-11-15 19:02:06

Su Linux

Android SDK funziona solo con JDK 8 quindi disinstalla la versione corrente di JDK.

Passato il comando e premere tab per il completamento automatico, rimuovere tutte le cose che vi mostra che inizia con openjdk-

sudo apt remove openjdk-

E ora installa JDK 8

sudo apt install openjdk-8-jdk
 3
Author: Guy Luz, 2020-11-14 18:12:15

Raccomando di cancellare le impostazioni di android-studio-dir e Android-sdk e let flutter rileva automaticamente il loro percorso: questo funziona per me .

flutter config --android-studio-dir=""

flutter config --android-sdk=""
 2
Author: guccisekspir, 2020-05-24 23:48:37

Sembra che tu stia ricevendo un'eccezione JDK, succede quando non hai JAVA_HOME impostato sulle variabili di sistema O hai quasi impostato il JDK ma nella cartella sbagliata O stai cercando di eseguire il Gestore SDK (che ti permette di accettare le licenze Android) con il JDK sbagliato.

In caso di JDK 9 o superiore:

In realtà, Android SDK Manager funziona solo con Gradle compilato sulla versione di JDK 8 per lo sviluppo di Android , quindi, se hai una versione JDK più recente già impostata su variabili di sistema, considera di downgrade alla versione JDK 8.

Questa versione funziona bene per me: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

Nel caso di JDK 8 già installato

Se hai estratto manualmente la cartella JDK in una directory, forse l'hai impostata "sbagliata". Voglio dire: hai indicato il modo sbagliato nella cartella bin Java, ma è ancora opera. Devi impostare JAVA_HOME come radice di JDK, esempio: Nella cartella zippata JDK, devi estrarla e puntare la variabile di sistema nella cartella decompressa, no direttamente nella directory bin, devi puntare JAVA_HOME come variabile di sistema e dichiarare la cartella bin come eseguibile.

Esempi:

Linux

Nel file di configurazione della shell:

export JAVA_HOME="/home/user/jdk1.8.0_261"
export PATH="$PATH:$JAVA_HOME/bin"

Finestre

Nel gestore delle variabili di ambiente:

Imposta un nuovo VARIABILE DI SISTEMA denominata JAVA_HOME

inserisci qui la descrizione dell'immagine

Quindi, modificare la variabile PATH e aggiungere un nuovo registro ad esso:

%JAVA_HOME%\bin

In realtà, non so davvero come gestire JDK in macOS, se questo è il tuo sistema operativo, scusa: (

Spero che aiuti!

 2
Author: , 2020-10-01 21:01:37

La mia soluzione era: Ho avuto Android SDK Build-Tools, Android Emulator e Android SDK Platform-Tools installati. Inoltre avevo JAVA_HOME variabile nelle variabili di ambiente.

Così ho deciso di disinstallare Android SDK Build-Tools, Android Emulator e Android SDK Platform-Tools e installarli di nuovo. Inoltre, ho cancellato JAVA_HOME variabile. E dopo queste operazioni eseguo flutter doctor --android-licenses nel terminale. E in qualche modo ha funzionato.

 0
Author: Blaaablaaaaaaify, 2020-12-20 15:55:56