Error "No se pudieron instalar los siguientes paquetes del SDK de Android porque no se aceptaron algunas licencias"

143

Recibo este error en jitpack, he probado todo en Internet. A continuación se muestra mi error

Failed to install the following Android SDK packages as some licences have not been accepted.
     platforms;android-26 Android SDK Platform 26
     build-tools;28.0.3 Android SDK Build-Tools 28.0.3
  To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.

Y cuando ejecuto ./sdkmanager --licenses

 All SDK package licenses accepted.======] 100% Computing updates...             

El uso de sudo con el comando anterior da

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:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
    ... 5 more

registro de errores adicional

File /opt/android-sdk-linux/.android/repositories.cfg could not be loaded.
Checking the license for package Android SDK Build-Tools 28.0.3 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Build-Tools 28.0.3 not accepted.
Checking the license for package Android SDK Platform 26 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Platform 26 not accepted.

No sé por qué está buscando licencias allí cuando mi ubicación de SDK es otra

Reenath Reddy Thummala
fuente
1
Parece que hay una solución un poco loca , ¡aunque puede funcionar!
Jake Lee
2
Yo tuve el mismo problema. Descargué los SDK relevantes a través de Android Studio y en ningún momento me preguntó sobre las licencias. Otro problema innecesario.
Steve Smith

Respuestas:

271

Debe aceptar las licencias antes de construir.

De acuerdo con los documentos del SDK de Android , puede usar el siguiente comando según la ubicación de sdkmanager: Sin --licensesembargo, parece que falta la opción Docs on .

yes | sdkmanager --licenses

Distribuciones GNU / Linux:

yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses

Mac OS:

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses

Ventanas:

%ANDROID_HOME%/tools/bin/sdkmanager --licenses
Felix también
fuente
42
Recibí este errorException in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
HendraWD
6
@HendraWD Si ha instalado un Java adicional en su computadora (Nota: Android Studio tiene su propio Java), debe asegurarse de que tengan la misma versión. De lo contrario, puede ocurrir este error. Lo resolví justo ahora configurando la ruta de "Android Studio / jre" a JAVA_HOME.
Licat Julius
8
Para instalar un Mac sin Java, tuve que export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home, cd ~/Library/Android/sdk/tools/bin, ./sdkmanager --licenses.
Graham Perks
1
FWIW: También parece que solo se admite JDK <11 y, curiosamente, Ubuntu 18.04 viene con openjdk 11el jdk predeterminado. Después de asegurarme de que estaba usando una versión de Java compatible, obtuve Error: Could not create the Java Virtual Machiney descubrí que tenía que invocar sdkmanagerusando sudo.
JHH
Tuve que ejecutar el comando con sudo en ubuntu, sí | sudo ~ / Android / Sdk / tools / bin / sdkmanager --licenses
mramsath
50

en el sistema operativo Windows, vaya a su ruta sdkmanager y luego ejecute

./sdkmanager.bat --licenses

Puede encontrar su sdkmanager en C:\Users\USER\AppData\Local\Android\Sdk\tools\bin

Para encontrar la ruta real del SDK de Android, siga el área marcada en rojo de la siguiente imagen

ingrese la descripción de la imagen aquí

Masum
fuente
1
Después de esto, puede revisar cada licencia y aceptarlas en consecuencia a través de la misma ventana de bash (Windows CMD arroja un error. Use git bash u otro en lugar de Windows CMD)
Tharusha
45

Si está trabajando con Flutter, este comando definitivamente funcionará para usted.

flutter doctor --android-licenses
Adil Aslam Sachwani
fuente
1
gracias por salvarme el tiempo
krissanawat
23

En Android Studio, vaya a Herramientas -> Administrador de SDK .

Vaya a la pestaña Herramientas del SDK .

Seleccione las herramientas de línea de comandos del SDK de Android (más reciente) y descargue presionando Aplicar .

ingrese la descripción de la imagen aquí

En Windows , puede encontrar sdkmanager.bat en

C: \ Users \ [your_user] \ AppData \ Local \ Android \ Sdk \ cmdline-tools \ latest \ bin

ingrese la descripción de la imagen aquí

george mano
fuente
Este ayudó
Sachin K
¡Esto solucionó mi problema!
douglasrcjames
18

Puede aceptar los acuerdos de licencia de los SDK indicados yendo al Administrador de SDK (Configuración> [Buscar SDK de Android]), luego busque los paquetes indicados en el mensaje de error y búsquelos allí. Lo más probable es que encuentre SDK que no estén completamente instalados y su instalación le pedirá que acepte el acuerdo de licencia.ingrese la descripción de la imagen aquí

Hamu XD
fuente
1
¡Gracias! Eso ayudo.
Naseem Ahamed
16

Para Windows ejecuté lo siguiente por un platform;android-28error

C:\Android\sdk\tools\bin> .\sdkmanager.bat "platforms;android-28"

y luego acepte la licencia

Abenezer Wudenhe
fuente
1
Usé. \ sdkmanager.bat --licenses pero no sabía que tenía que usar "\" en lugar de "/" gracias por la aclaración.
Hamza
ejecute el símbolo del sistema en modo administrador; de lo contrario, no funcionará
Shashank
13

usar android-28con una build-toolsversión 28.0.3; o build-toolsen la versión 26.0.3.

o prueba esto: yes | sudo sdkmanager --licenses

Martin Zeitler
fuente
2
En Windows, puede ejecutar sdkmanager.bat --licensesy escribir ytodas las preguntas.
Agung Santoso
12

MacOS Catalina

Paso 1: Cambiar la preferencia de Android Studio

  1. Abre tu Android Studio
  2. Presione Comando +, o vaya a la barra de aplicaciones superior izquierda de Android Studio> Preferencias .
  3. En el panel izquierdo, seleccione Apariencia> Configuración del sistema> SDK de Android
  4. Seleccione SDK Tools junto a SDK Platforms y en Android SDK Location
  5. Marque las Herramientas de línea de comandos del SDK de Android (más reciente) y presione el botón Aceptar .
  6. Espere a que finalice la instalación

Ubicación de las preferencias de Android Studio

Preferencias de Android Studio

Paso 2 (para usuarios de Flutter):

  1. Vaya a Terminal y ejecute el siguiente comando

flutter doctor --android-licenses

Paso 2 (para usuarios de Android):

  1. Vaya a la Terminal y ejecute el siguiente comando

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home

yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses

Zaman
fuente
Gracias: Muy similar en Centos 7
poleguy
11

Esto funciona para mi:

yes | ./sdkmanager "platforms;android-28"

yes | ./sdkmanager "build-tools;28.0.3"

yes | ./sdkmanager --licenses

Angelo Mendes
fuente
1
Funcionó bien para mí (Ubuntu 19.10, IntelliJ 2019.2.4). Solo tuve que instalar openJDK porque solo tenía el JDK integrado, no accesible desde la terminalsudo apt install openjdk-8-jdk
56ka
4

Para usuarios de Windows Puede aceptar todos los plazos de las licencias aquí. Pegue lo siguiente en su terminal

C:/Users/USERNAME/AppData/Local/Android/Sdk/tools/bin/sdkmanager.bat --licenses

PD: USERNAME es el nombre de usuario de su PC

Samuel Pinheiro
fuente
3

este es el comando

Usé lo siguiente:

  • establecer la ruta de sdk> AppData \ Local \ Android \ Sdk \ tools \ bin>
  • ejecutar. \ sdkmanager.bat --licenses
Frank Portorreal
fuente
3

También puede instalarlo a través del SDK Manager directamente en Android Studio:

Herramientas -> Administrador de SDK -> Plataformas Sdk y allí lo instala directamente y se le solicita que acepte el acuerdo de licencia

rm -rf
fuente
3

en el sistema operativo Windows, vaya a su directorio de ruta sdkmanager en cmd

Puede encontrar su sdkmanager en C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ tools \ bin

luego ejecute el siguiente comando:

sdkmanager --licencias

después de eso, le pedirá aceptar el acuerdo de licencia varias veces y luego aceptar todo simplemente escribiendo y en cmd

Ragini Gupta
fuente
2

En flutter puede ejecutar flutter doctor --android-license y luego escribir y en todas las licencias

Patrick Simard
fuente
1

Noté que en Windows, su consola debe estar abierta como administrador. De lo contrario, no considerará que ha aceptado las licencias.

Farkhod
fuente
1

En mi caso, este problema ocurrió con flutter porque, primero instalé android studio con el paquete predeterminado y luego instalé flutter. Una cosa que puede notar aquí es que el estudio de Android predeterminado no necesita aceptar ninguna licencia, por lo que para solucionar este problema, debemos aceptar todas las licencias manualmente.

Vaya a la sdk>>tools>>bincarpeta y luego ejecute el siguiente comando para aceptar todas las licencias.

. \ sdkmanager.bat --licencias

Sachin
fuente
1

En Mac OS 10.15.1, obtuve el mismo error incluso después de aceptar todas las licencias al ejecutar sdkmanager --licensesFuncionó después de actualizar la configuración de la ruta ANDROID_HOME en ~ / .bash_profile a lo siguiente

export ANDROID_HOME=/Users/your_username/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export PATH=$PATH:~/Library/Android/sdk/platform-tools

Y recargue el ~ / .bash_profile

source ~/.bash_profile 
guardagujas
fuente
1

Para agregar a las respuestas, también puede cambiar al directorio sdkmanager y en un sub shell y aceptar las licencias allí

(
    cd /home/user/android-sdk-linux/tools/bin
    yes | ./sdkmanager --licenses
)
the_prole
fuente
1

Tuve algún problema y soy nuevo en Android Studio. Si originalmente estaba trabajando con react native y yo estaba tratando de extraer una apk.

Lo resolví yendo al administrador de SDK en Android Studio e instalé API nivel 28.

Funcionó para mí.

Himanshu Suthar
fuente
1

Acabo de hacer Archivo -> Invalidar cachés y reiniciar Luego instalar los paquetes faltantes. Trabajó para mi.

usuario1239490
fuente
1

MacOs Catalina

Simplemente instale las herramientas según la imagen adjunta en AndroidSDK >> SDK Tools funcionará. Para mí, faltaba la "Biblioteca de licencias de Google Play".

ingrese la descripción de la imagen aquí

kzncrda
fuente
1

Probé muchas soluciones pero no funcionó para mí. La siguiente solución funciona para mí.

localice el archivo sdkmanager en el SDK de Android.

En mi caso: ~ / Android / Sdk / tools / bin

ve a ese camino: cd ~/Android/Sdk/tools/bin

Aceptar licencias manualmente: ./sdkmanager --licenses ingrese Sí o y

shubham rasal
fuente
agregue el título adecuado
cisne
1

Si está utilizando flutter, siga los siguientes pasos

1.open the command prompt

Entonces el siguiente comando

2.C:\Users\niroshan>flutter doctor

Y verá los problemas de la siguiente manera

Doctor summary (to see all details, run flutter doctor -v):
[] Flutter (Channel stable, 1.22.2, on Microsoft Windows [Version 10.0.17763.1339], locale en-US)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    X Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[!] Android Studio (version 4.1.0)
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
[] VS Code (version 1.50.1)
[!] Connected device
    ! No devices available

! Doctor found issues in 3 categories.

En realidad, lo que tienes que ejecutar es el siguiente comando

C:\Users\niroshan>flutter doctor --android-licenses
Niroshan Ratnayake
fuente
¡Funciona de maravilla!
Abrsh
0

Para mac, intente esto y funcionará:

Abra la terminal y vaya a la ruta de abajo

cd /Users/anand/Library/Android/sdk
Cd tools/bin

Luego escriba el siguiente comando

yes | ./sdkmanager --licenses && ./sdkmanager --update
Anand_5050
fuente
Usado debajo del comando para instalar sdk 8 en la plataforma cordova cordova agregar [email protected]
Anand_5050
0

Esto funciona para mi:

  1. Abrir Android Studio

  2. Abre tu proyecto Flutter

  3. Abra herramientas en Android Studio que estarán en la parte superior. Seleccione Administrador de SDK, luego marque:
    Android 9.0,
    Android 8.1,
    Android 8.0.
    Descárgalos e instálalos, luego reinicia Android Studio

Kapil Ahuja
fuente
0

Probé esto en Android Studio y funcionó para mí:

Herramientas> Administrador de SDK (asegúrese de marcar Mostrar paquetes a continuación)

Plataformas SDK> Mostrar paquetes> Android - 28 Plataformas SDK> Mostrar paquetes> Android - 28

Herramientas del SDK> Mostrar paquetes> 28.0.3 Herramientas del SDK> Mostrar paquetes> 28.0.3

Mitzo
fuente
0

En Android Studio 4.1 (puede funcionar en versiones anteriores), vaya al SDK Manager ( Tools> SDK Manager) y luego seleccione la plataforma (en este caso, Android 8.0 (Oreo) API 26). Haga clic en Apply(vea la captura de pantalla a continuación)

Captura de pantalla del menú del SDK de Android

Ahora, aceptará la licencia del nuevo SDK y descargará la plataforma.

Liscare
fuente
-2

Si todo lo anterior no funciona, la mejor solución es: reinstalar el SDK de Android

Thanh Ho
fuente