• Empleos
  • Sobre nosotros
  • Empleos
    • Inicio
    • Empleos
    • Cursos y retos
  • Empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

617
Vistas
flutter doctor --android-licenses da un error de 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

Recibo este error arriba cuando ejecuto flutter doctor --android-licenses. ¿Alguien sabe por qué sucede esto y cómo puedo solucionarlo? Ya lo estoy ejecutando en la consola flutter.

over 3 years ago · Santiago Trujillo
11 Respuestas
Responde la pregunta

0

Instalar las herramientas de línea de comandos de Android SDK desde Android SDK Manager hizo el trabajo por mí.

  1. Herramientas abiertas > Administrador de SDK
  2. Desde la izquierda, elija Apariencia y comportamiento > Configuración del sistema > SDK de Android
  3. Seleccione Herramientas SDK en el menú superior
  4. Compruebe las herramientas de línea de comandos del SDK de Android y haga clic en 'aplicar'.

Alternativa al paso n.º 1: WINDOWS: Archivo > Configuración (Ctrl+Alt+S) / MAC: Android Studio > Preferencias

Esta solución funciona para Windows , Linux y Mac OS X.


ingrese la descripción de la imagen aquí

Si tiene un problema a pesar de los pasos anteriores, puede intentar actualizar su sistema a JDK 8. La documentación oficial de actualización a JDK 8 está disponible aquí .

over 3 years ago · Santiago Trujillo Denunciar

0

Parece que está recibiendo una excepción de JDK, sucede cuando no tiene configurado JAVA_HOME en las variables de su sistema O casi ha configurado el JDK pero en la carpeta incorrecta O está intentando ejecutar SDK Manager (que le permite aceptar el Licencias de Android) con el JDK incorrecto.

En caso de JDK 9 o superior:

En realidad, Android SDK Manager solo funciona con Gradle compilado en la versión de JDK 8 para el desarrollo de Android , por lo tanto, si ya tiene una versión de JDK más reciente configurada en las variables del sistema, considere cambiarla a la versión 8 de JDK.

Esta versión funciona bien para mí: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

En caso de JDK 8 ya instalado

Si extrajo manualmente la carpeta JDK a un directorio, tal vez lo haya configurado como "incorrecto". Quiero decir: señaló el camino equivocado a la carpeta bin Java, pero aún funciona. Debe configurar JAVA_HOME como la raíz de JDK, ejemplo: en la carpeta comprimida de JDK, debe extraerlo y señalar la variable del sistema en la carpeta descomprimida, no directamente en el directorio bin, debe señalar JAVA_HOME como una variable del sistema y declarar la carpeta bin como ejecutable.

Ejemplos:

linux

En su archivo de configuración de shell:

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

ventanas

En su administrador de variables de entorno:

Establecer una nueva VARIABLE DEL SISTEMA llamada JAVA_HOME

ingrese la descripción de la imagen aquí

Luego, edite la variable PATH y agréguele un nuevo registro:

 %JAVA_HOME%\bin

En realidad, no sé realmente cómo administrar JDK en MacOS, si ese es su sistema operativo, lo siento :(

¡Espero eso ayude!

over 3 years ago · Santiago Trujillo Denunciar

0

en linux

Android SDK solo funciona con JDK 8 , así que desinstale su versión actual de JDK .

Pase el comando y presione la pestaña para autocompletar, elimine todas las cosas que le muestran que comienzan con openjdk-

 sudo apt remove openjdk-

y ahora instale JDK 8

 sudo apt install openjdk-8-jdk
over 3 years ago · Santiago Trujillo Denunciar

0

Recomiendo borrar la configuración de android-studio-dir y android-sdk, y dejar que flutter detecte automáticamente su ruta: Esto funciona para mí.

 flutter config --android-studio-dir="" flutter config --android-sdk=""
over 3 years ago · Santiago Trujillo Denunciar

0

Mi solución fue: tenía instalado Android SDK Build-Tools, Android Emulator y Android SDK Platform-Tools. También tenía la variable JAVA_HOME en las variables de entorno.

Así que decidí desinstalar Android SDK Build-Tools, Android Emulator y Android SDK Platform-Tools e instalarlos nuevamente. Además, eliminé la variable JAVA_HOME . Y después de estas operaciones ejecuto flutter doctor --android-licenses en la terminal. Y de alguna manera funcionó.

over 3 years ago · Santiago Trujillo Denunciar

0

en primer lugar, debe saber que flutter funciona en jdk 8, por lo que si tiene otras versiones instaladas, debe purgarlas para eliminar completamente otras versiones

NOTA: esto es de acuerdo a mi caso Ubuntu 20.04, ESTO ES DE ACUERDO A MI SITUACION NO SE GARANTIZA QUE FUNCIONE PARA USTED

si tiene jdk 11, para desinstalar use uno de los dos comandos dependiendo del que haya instalado o puede ejecutar ambos si no sabe cuál de ellos está instalado en su máquina.

 sudo apt purge openjdk-11-jre-headless sudo apt purge openjdk-11-jre

si es cualquier otra versión, reemplace 11 con ese número. si usa el jdk predeterminado, para desinstalarlo use el siguiente comando

 sudo apt purge default-jre

para asegurarnos de eliminar todo lo relacionado con Java, ejecute este comando

 sudo apt auto remove

NOTA: puede ejecutar todos los comandos anteriores solo para estar más seguro de eliminar por completo todo lo relacionado con Java

para verificar que hemos eliminado todo ejecuta

 java -v

si ve el error a continuación o la versión de java, entonces java no se ha desinstalado

 Unrecognized option: --version Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.

pero si recibe una respuesta de que no se encontró java y hay una sugerencia de instalación de java, significa que java se ha desinstalado

ahora necesitamos instalar jdk 8 ejecutar este comando

 sudo apt install openjdk-8-jre

si todo va bien, reinicie su máquina y ejecute flutter doctor y siga las instrucciones para aceptar las licencias

Saludos, espero que este post te sea de ayuda

over 3 years ago · Santiago Trujillo Denunciar

0

Las soluciones anteriores funcionan totalmente, pero hay una solución que veo menos veces de lo que esperaría: sdkman => https://sdkman.io/

con una herramienta de este tipo instalada, cambiar la versión de Java es tan rápido como (adopte Java 8 como ejemplo):

 ❯ sdk install java 8.0.282.hs-adpt ❯ sdk use java 8.0.282.hs-adpt
over 3 years ago · Santiago Trujillo Denunciar

0

Para mí, en Windows 10, la respuesta fue simplemente eliminar la variable de entorno JAVA_HOME.

Probablemente no sea una buena idea si es un desarrollador de Java o confía en algún software de Java para hacer su trabajo, pero si es un desarrollador que no funciona en el espacio de Java y solo está obteniendo Comencé con Flutter como yo, luego ingrese a las variables de entorno del sistema y elimine esa. flutter doctor --android-licenses funcionó como se supone que debe hacerlo después de que hice eso.

over 3 years ago · Santiago Trujillo Denunciar

0

Necesita JDK 8 ya que los archivos necesarios se eliminaron en versiones posteriores.

Una vez instalado, puede cambiar entre versiones usando

 sudo update-alternatives --config java

luego seleccione la opción para JDK 8. Esto también le mostrará la ubicación de su instalación de JDK 8 que necesitará para:

 export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/" PATH=$PATH:$JAVA_HOME/bin
over 3 years ago · Santiago Trujillo Denunciar

0

Tuve el mismo problema, lo resolví instalando las herramientas de línea de comandos de Android Studio

haga clic en archivo, configuración, luego en la barra de búsqueda, escriba sdk y haga clic en sdk de Android SDK de Android

Luego haga clic en herramientas sdk, marque la casilla de herramientas de línea de comandos de Android, haga clic en aplicar para permitir la descarga. luego intente ejecutar flutter doctor --android-licenses nuevamente en su cmd, se le pedirá que acepte las licencias

over 3 years ago · Santiago Trujillo Denunciar

0

Soy un usuario de Mac y resuelvo este problema.

Esta respuesta también ayuda a los usuarios de Windows y Linux a resolver el problema a partir de los comentarios de los usuarios.

Al principio, esto es lo que conocí por el tema.
$ doctor aleteo -v ingrese la descripción de la imagen aquí

Y el siguiente comando no funciona para mi situación.
$ flutter doctor --licencias de Android ingrese la descripción de la imagen aquí

La forma de solucionar esto es instalar
Herramientas de línea de comandos del SDK de Android . ¿Y cómo?
Solo necesita hacerlo siguiendo los siguientes dos pasos.

Instalar: Herramientas de línea de comandos del SDK de Android

Paso 1. Abra el Administrador de SDK
Menú superior -> Herramientas -> Administrador de SDK ingrese la descripción de la imagen aquí

Paso 2. Instalar herramientas de línea de comandos

  1. Desplegar apariencia y comportamiento
  2. Configuración del sistema desplegable
  3. Haga clic en SDK de Android
  4. Haga clic en la pestaña de herramientas SDK
  5. Compruebe las herramientas de línea de comandos del SDK de Android (más reciente)
  6. Haga clic en el botón Aplicar . ingrese la descripción de la imagen aquí Luego haga clic en el botón Aceptar para finalizar la instalación.

Sigue firmando licencias de Android.

Después de que Android Studio finalice la instalación, puede hacer lo siguiente.
$ flutter doctor --licencias de Android
ingrese la descripción de la imagen aquí Después de decir que sí muchas veces, se han firmado todas las licencias de Android.

Verifique nuevamente con flutter doctor.

$ doctor aleteo -v
ingrese la descripción de la imagen aquí

Puede ver que se aceptan todas las licencias de Android.

¡Felicitaciones, ha completado esta tarea!

over 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda