No se puede aceptar el acuerdo de licencia de la plataforma SDK de Android 24

119

Recibo el siguiente error al intentar instalar una plataforma Android en un proyecto de Cordova. He estado siguiendo esta guía: https://cordova.apache.org/docs/en/latest/guide/cli/

Se produce un error al ejecutar lo siguiente: $ cordova platform add android --save

Ocurrió un problema al configurar el proyecto raíz 'android'. No ha aceptado los acuerdos de licencia de los siguientes componentes del SDK: [Android SDK Platform 24].

He buscado por todas partes formas de aceptar el acuerdo de licencia de la plataforma SDK de Android 24 , pero no tuve suerte.

Gracias de antemano.

Daneye
fuente
1
para Windows, abra SDK Manager con acceso de administrador. Deseleccione todo, busque la plataforma SDK 24, verifique eso, instale. Allí puede aceptar la licencia.
Nick Chan Abdullah
1
para mí, el problema fue haber instalado android-sdkdesde varios lugares ( brew, brew casky android-studio) y no llamar al sdkmanager --licensescomando apropiado
Pierre-Alexis de Solminihac
Posible duplicado de Aceptar automáticamente todas las licencias del SDK
usuario202729

Respuestas:

167

También puedes simplemente ejecutar

$ ANDROID_HOME / tools / bin / sdkmanager --licenses

O para Windows ejecutar

% ANDROID_HOME% / tools / bin / sdkmanager --licenses

(crédito por el comando de Windows a @ puneet-kumar)

Hardik Patel
fuente
En Mac, el sdk está en / Library / Android /
Tyler Chong
Funcionó muy bien para Android 26 y 27 también. Tuve el mismo problema, pero sucedió cuando mi cordova actualizó gradle de 4.0 a 4.1
Trevor
@PuneetKumar este comando no me funciona. Tengo el archivo sdkmanager.bat en la carpeta tools / bin
Heemanshu Bhalla
en linux - bash: / tools / bin / sdkmanager: no existe tal archivo o directorio
Niladri Banerjee - Uttarpara
¿Tiene alguna forma de ejecutar eso de forma no interactiva?
Peter Mounce
163

No estoy exactamente seguro de cómo funciona cordova, pero una vez que se aceptan las licencias, crea un archivo. Puede crear ese archivo manualmente. Se describe en esta pregunta , pero aquí están los comandos para crear el archivo de licencia requerido.

Linux:

mkdir "$ANDROID_HOME/licenses"
echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"

Ventanas:

mkdir "%ANDROID_HOME%\licenses"
echo |set /p="8933bad161af4178b1185d1a37fbf41ea5269c55" > "%ANDROID_HOME%\licenses\android-sdk-license"
Miguel
fuente
Hola Mike, ¿desde qué directorio ejecuto esos comandos? ¡Gracias!
Daneye
El directorio de trabajo no debería importar, siempre que se defina la variable de entorno $ ANDROID_SDK. También puede ser $ ANDROID_HOME. Uno de esos debe definirse; Es la ubicación del SDK de Android. Puede escribir 'printenv' y buscar a través de las variables definidas para encontrarlo. O simplemente 'echo $ ANDROID_HOME' para ver si está configurado. Esto es asumiendo linux ... windows, haría referencia a las variables de entorno por% ANDROID_SDK% en lugar de $ ANDROID_SDK.
Mike
5
Junto con el error, Cordova hará eco de la ruta a ANDROID_HOME (en caso de que no pueda encontrarlo). Si ANDROID_HOME no está configurado, puede configurarlo manualmente de esta manera set ANDROID_HOME="C:\Users\*YOUR_USER_NAME*\AppData\Local\Android\sdk"y ejecutar los comandos anteriores.
Arno van Oordt
El uso de Android Studio y la instalación de la versión 24 de Android me solucionó este problema.
David Douglas
3
A pesar de las herramientas de compilación sdk 24 instaladas. mi problema no se resolvió en la máquina mac. Resolvió esto creando manualmente la carpeta de licencias y el archivo android-sdk-license como se explicó anteriormente
kushalvm
52

Tuve este problema en Mac OS X 10.12.1 con Cordova 6.4.0 y Android Studio 2.2.3.

Cuando instalé Android Studio, instalé Platform 25, pero no 24. Para instalar 24:

  • Abra Android Studio.
  • Abierta Android Studio Menu > Preferences.
  • Appearance & Behavior > System Settings > Android SDK
  • Marque la casilla para Android 7.0 (Nougat) | 24
  • Haga clic en Aceptar y siga las instrucciones.
jxmallett
fuente
Nota: no olvide ajustar la versión de Android a la plataforma SDK que falta
Hugo H
2
Hice esto, pero probablemente podría haber ahorrado un poco de tiempo haciendo clic en "Mostrar detalles del paquete" y seleccionando solo el SDK, en lugar de instalar las API y la fuente de Google también.
Aaron
Han pasado semanas desde mi última construcción. reconstruyendo mi aplicación nuevamente, experimenté el mismo problema anterior, pero lo resuelvo después de hacer esta solución.
Jur P
27

Tuve exactamente el mismo problema. Luego instalé "Android 7.0 (API 24)> Plataforma SDK" y funcionó.

ingrese la descripción de la imagen aquí

feyyaz
fuente
26

La forma más sencilla de solucionar este problema es aceptar las licencias mediante el siguiente comando:

SO Windows:

C:\Users\{your-username}\AppData\Local\Android\sdk\tools\bin\sdkmanager --licenses

Se le presentarán descargos de responsabilidad. Para continuar con sus esfuerzos de desarrollo, debe responder "y" a todas las exenciones de responsabilidad.

Matriz completa
fuente
25

Ir Android\sdk\tools\bin

Ninguna de las soluciones anteriores funcionó para mí y finalmente esta única línea aceptó todas las licencias de Android.

yes | sdkmanager --licenses && sdkmanager --update
vishwaraj
fuente
1
Si los windowsusuarios reciben un error. Intente sdkmanager --licenses && sdkmanager --updateaceptar las licencias manualmente.
Rahmat Ali
Para usuarios de macOs, vaya a / Users / USERNAME / Library / Android / sdk / tools / bin y yes | ./sdkmanager --licenses. y ./sdkmanager --help to know more.
Pushpak Sharma
13

Tuve el problema, no necesitas copiar ni crear ninguna carpeta, solo ten cuidado con la ruta de tu SDK, debe ser la misma de la variable de entorno (ANDROID_HOME), que no era la misma para mí, no sé por qué.

ubicación sdk

Juan
fuente
13

En mi caso, no uso el estudio de Android (estoy usando eclipse). Hice el siguiente paso: resuelto simplemente ejecutando el comando

android-sdks/tools/bin$ ./sdkmanager --update

Que creó un licensesdirectorio y agregó un archivo llamado android-sdk-licensedentro de él.

Luego puede ejecutar (la licensesopción no está disponible a menos que haya realizado el paso anterior)

android-sdks/tools/bin$ ./sdkmanager --licenses

y aceptar la licencia (sin embargo, en mi caso no necesitaba hacer eso)

BeeZone
fuente
9

Instalé android sdk build-tools 24 (es la versión actual 24.0.3) a través del administrador de SDK. La ruta para abrir el administrador de SDK se muestra en el archivo img adjunto. Esto resolvió mi problema SDK Manager

BruS
fuente
1
No veo una imagen adjunta, pero esto también funcionó para mí. Hay un botón en Android Studio para SDK Manager, y luego puede abrir un administrador de SDK independiente que le permitirá descargar fácilmente todas las cosas de Android 24
Yonatan Kogan
Nuevamente me enfrenté al mismo problema al instalar usando cordova build en otra PC con sistema operativo Windows 7. Esta vez ya tenía instaladas las herramientas de construcción 24. Así que siguió los pasos mencionados por Feyyaz a continuación. Eso es instalar Android 7.0 (API 24) y funcionó. Así que creo que la última versión de cordova superior a 6 necesita API 24 con la herramienta de compilación 24 o una versión superior. Pero no encontré ninguna documentación para esto en su sitio web.
BruS
en MacOS y Linux, el administrador de SDK está en $ ANDROID_HOME / tools / android
Tony Laidig
7

Tenía el SDK de Android al instalar Android Studio y también recibí este error. Hay una solución simple en la guía del usuario .

  1. En una máquina con Android Studio instalado, haga clic en Tools > Android > SDK Manager. En la parte superior de la ventana, observe la ubicación del SDK de Android .

  2. Navegue a ese directorio y ubique el licenses/directorio dentro de él.

    (Si no ve un licenses/directorio, regrese a Android Studio y actualice sus herramientas de SDK, asegurándose de aceptar los acuerdos de licencia. Cuando regrese al directorio de inicio de Android SDK, ahora debería ver el directorio).

  3. Copie todo el licenses/directorio y péguelo Android SDK home directoryen la máquina donde desea construir sus proyectos.

Java Xu
fuente
7

Este error puede producirse si el sistema no está recogiendo la variable de entorno ANDROID_HOME de la ruta correcta. Asegúrese de haber instalado el SDK de Android y haber configurado la variable ANDROID_HOME correctamente en la ruta adecuada como se muestra en la siguiente imagen:

ANDROID_HOME_PATH

Si la variable ANDROID_HOME no está definida, el sistema intenta elegir la ruta de una ruta predeterminada (es posible que esta no sea la ruta donde se define el SDK de Android, lo que conduce a este problema).

Krishna_Anipindi
fuente
5

Instale el siguiente componente:

ingrese la descripción de la imagen aquí

Sumant Singh
fuente
4

Esto se debe a que, de forma predeterminada, en el momento de escribir este artículo, la herramienta Ionic CLI está predeterminada en

<preference name="android-targetSdkVersion" value="LATEST_SDK_VERSION"/> 

Esa es la razón por la que se queja de que no aceptó el acuerdo de licencia, pero en realidad no instaló los paquetes SDK para ese nivel de API y, sin embargo, solo aceptó la licencia.

Entonces, lo que debes hacer es

  1. Cambiar la versión de su SDK de destino
  2. Instale el último nivel de API de SDK desde SDK Manager

Cambiar su versión de SDK

Puedes hacerlo manualmente e incluso verificarlo ejecutando

ionic cordova platform add android 

el archivo se puede encontrar al your-awesome-app/config.xml abrirlo y agregar esta línea, ya que está oculto como se indicó anteriormente

<preference name="android-targetSdkVersion" value="24"/>

Si no está seguro de a qué número de NIVEL de API se dirige, abra SDK Manager y observe los niveles de API (números) disponibles en su máquina.

Instalación del último paquete de SDK

Puede agregar los paquetes SDK actuales que muestra la CLI , que en su caso es 24

Ejecutar SDK MANAGERcomo administrador

Ejecute SDK Manager como administrador

Instale los paquetes API de SDK a los que se dirige

Ahí es donde se escribe el nivel de API del SDK

¿Cómo supe esto? Lo hice esta mañana y así lo resolví y ahora estoy jugando Sticky Bubble en Android para relajarme un poco.

¡Feliz implementación!

Fahad
fuente
Agregar targetSdkVersional config.xmlarchivo solucionó mi problema. Gracias :)
B Faley
4

En mi caso (script de Dockerfile para construir un contenedor CI de Android - https://github.com/menny/docker_android ), tuve que seguir estos pasos:

mkdir ~/.android && touch ~/.android/repositories.cfg
yes | sdkmanager --licenses
sdkmanager "build-tools;26.0.0"
sdkmanager "platform-tools" "tools"
sdkmanager "platforms;android-26" "platforms;android-25" "platforms;android-24"
.....
sdkmanager --update
yes | sdkmanager --licenses

Dos notas:

  1. Tenía que crear un repositories.cfgarchivo vacío o sdkmanagermoriría.
  2. Tuvo que realizar la búsqueda / instalación de paquetes en diferentes llamadas, ya que no hay indicación de progreso.
Menny
fuente
4

Vaya a C: \ Users {usuario} \ AppData \ Local \ Android \ sdk \ tools \ bin

luego ejecute sdkmanager --licenses

le pedirá que acepte los acuerdos que quedan por aceptar. solo tendrás que escribir "y" e ingresar.

Resolverá el problema

Lakshitha Ruwan
fuente
Esto también es excelente si tiene un servidor de compilación que tiene que descargar automáticamente sdk.
Roel
Intenté eso y lo consigo Couldn't load neither find main class com.android.sdklib.tool.SdkManagerCli. Ideas?
PlayHardGoPro
Esto podría ser útil stackoverflow.com/questions/40718487/… . puede intentar ejecutar './SdkManagerCli' dentro de la carpeta / sdklib / tools.
Lakshitha Ruwan
4

Estoy usando Mac y lo resolví usando este comando:

$ which sdkmanager
/usr/local/bin/sdkmanager
$ /usr/local/bin/sdkmanager --licenses
Warning: File /Users/user/.android/repositories.cfg could not be loaded.
6 of 6 SDK package licenses not accepted.
Review licenses that have not been accepted (y/N)? y

Luego tuve una lista de 6 licencias para aceptar y se resolvió después de eso.

Neel
fuente
4

También puede seguir el camino "oficial". Ejecute " sdkmanager --licenses " dentro de la carpeta tools / bin de la instalación del SDK de Android y acepte todas las licencias. ¡Hecho!

c:\android-sdk\tools\bin>sdkmanager --licenses

Para macOS o Linux es el mismo comando.

Georgy K
fuente
3

Tuve que actualizar el SDK de Android

android update sdk --no-ui

en algún momento le pedirá el acuerdo de licencia, presione y. Después de eso, debes quitar la plataforma angular.

Tasnim Reza
fuente
3
  1. Ir a la ubicación del SDK de Android

C: \ Users \ username \ AppData \ Local \ Android \ sdk \ tools \ bin

  1. Ejecutar comando sdkmanager --licenses

  2. Acepte la licencia para SDK

Inder malviya
fuente
4
La misma información ya se ha publicado varias veces. ¿Cómo mejora el tuyo las respuestas existentes?
Stephen Kennedy
2

Necesita tener instalada la última plataforma sdk estable . Instalé SDK-Platform desde API 25. Solucionó mi problema.Ver captura de pantalla a continuación

Tushar Walzade
fuente
2

Este problema surge cuando ya hay una versión anterior de SDK Manager en la máquina desde donde se cambia el enfoque de la compilación de Android, que requiere "android studio". Me enfrenté a esto en Visual Studio que se detuvo repetidamente con el mensaje de error "No ha aceptado la licencia para la versión 25". La solución para esto es "Instalar Android Studio" y luego "ir a Variables de entorno" y configurar ANDROID_HOME en "C: \ Users \\ AppData \ Local \ Android \ Sdk" (esta ruta se puede elegir desde Android Studio, Menú >> Herramientas >> Administrador de SDK. También use lo mismo en la "ruta" de las Variables de entorno. De esta manera, el nuevo administrador de SDK está mapeado para ser recogido por Visual Studio Build for Cordova Application.

Esto solo tomó mi esfuerzo de 2 días por segunda vez

Ojalá otros no pierdan su tiempo en este lío.

ekambar kodali
fuente
1

Cambiar la compilación de destino podría funcionar como se indica aquí

Si desea especificar la versión del SDK, puede hacerlo agregando la siguiente línea a su config.xml en la raíz de su proyecto ionic / cordova

<preference name="android-targetSdkVersion" value="23"/>
Madhu Kumar
fuente
1

¡Espero que esto funcione para alguien
que estaba enfrentando el mismo problema! Tenía 2 sdks, llamados sdk y sdk1. Estaba vinculado por defecto a sdk, pero el que funcionaba era sdk1. Así que fui a Environment Varaible y agregué ANDROID_HOME y la ruta del sdk1, es decir, en mi caso fue C: \ Users \ tripa_000 \ AppData \ Local \ Android \ sdk1 , ¡y resolvió mi problema!

Tripathee Gaurav
fuente
0

Para mí, estaba construyendo el Ionic usando el comando "ionic build android" y estaba teniendo el mismo problema. La solución fue simplemente

  • Para instalar el sdk requerido
  • Ejecutar el mismo comando en CMD debe ser como administrador
Adel
fuente
0

Me acabo de encontrar con este problema, y ​​lo que me resolvió en Windows, está usando la línea de comandos y recientemente instaló el sdk de Android, debe reiniciar el símbolo del sistema o Power Shell después de instalar el sdk de Android.

Norman Breau
fuente
0

La respuesta de Mike funciona. Pero es necesario poner la licencia generada en C: \ Users \ user \ AppData \ Local \ Android \ sdk \ license.

Thyagarajan C
fuente
0

su error medio coincide con la versión de Android SDK de cordova con la versión que instaló. Por ejemplo, cordova es compatible con Android SDK 24 pero no tiene Android sdk 24. puede ser inverso.

Yusuf
fuente
0

Esto actualizará su SDK de Android y aceptará la licencia al mismo tiempo (por ejemplo, para Android 25):

actualización de android sdk --no-ui --filter build-tools-25.0.0, android-25, extra-android-m2repository

Yann Ulrich
fuente
0

El problema para mí fue que mi variable ANDROID_HOME se estaba configurando para otra instalación que olvidé que existía. Si este es su problema, elimine la instalación anterior.

Cilan
fuente