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.


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

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)


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"

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.

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í


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.


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

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


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)


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


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.


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).



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!


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.

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


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.


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.


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.


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


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


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.


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"/>


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!


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

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.


0

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


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.


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


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.