Impossibile accettare il contratto di licenza Android SDK Platform 24


119

Ricevo il seguente errore quando provo a installare una piattaforma Android su un progetto Cordova. Ho seguito questa guida: https://cordova.apache.org/docs/en/latest/guide/cli/

Si verifica un errore durante l'esecuzione di quanto segue: $ cordova platform add android --save

Si è verificato un problema durante la configurazione del progetto root "android". Non hai accettato i contratti di licenza dei seguenti componenti SDK: [Android SDK Platform 24].

Ho cercato ovunque modi per accettare il contratto di licenza di Android SDK Platform 24 , ma non ho avuto fortuna.

Grazie in anticipo.


1
per Windows, Apri SDK Manager con accesso come amministratore. Deseleziona tutto, trova la piattaforma SDK 24, controlla, installa. Lì puoi accettare la licenza.
Nick Chan Abdullah

1
per me il problema è stato aver installato android-sdkdai luoghi più ( brew, brew caske android-studio), e non chiamare il appropriata sdkmanager --licensesdi comando
Pierre-Alexis de Solminihac

Risposte:


167

Puoi anche solo eseguire

$ ANDROID_HOME / tools / bin / sdkmanager --licenses

O per Windows eseguire

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

(credito per il comando di Windows a @ puneet-kumar)


Su Mac, l'SDK si trova in / Library / Android /
Tyler Chong,

Funzionava benissimo anche per Android 26 e 27. Ho avuto lo stesso problema ma è successo quando la mia cordova ha aggiornato il gradle da 4.0 a 4.1
Trevor

@PuneetKumar questo comando non funziona per me. ho il file sdkmanager.bat nella cartella tools / bin
Heemanshu Bhalla

in linux - bash: / tools / bin / sdkmanager: nessun file o directory di questo tipo
Niladri Banerjee - Uttarpara

Hai un modo per eseguirlo in modo non interattivo?
Peter Mounce

163

Non sono esattamente sicuro di come funzioni cordova, ma una volta accettate le licenze crea un file. Potresti creare quel file manualmente. È descritto su questa domanda , ma ecco i comandi per creare il file di licenza richiesto.

Linux:

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

Finestre:

mkdir "%ANDROID_HOME%\licenses"
echo |set /p="8933bad161af4178b1185d1a37fbf41ea5269c55" > "%ANDROID_HOME%\licenses\android-sdk-license"

Ehi Mike, da quale directory cosa eseguo quei comandi? Grazie!
Daneye

La directory di lavoro non dovrebbe avere importanza, purché la variabile d'ambiente $ ANDROID_SDK sia definita. Potrebbe anche essere $ ANDROID_HOME. Uno di questi dovrebbe essere definito; È la posizione dell'SDK Android. Puoi digitare "printenv" e cercare tra le variabili definite per trovarlo. O semplicemente "echo $ ANDROID_HOME" per vedere se è impostato. Questo presuppone che le finestre Linux ... si riferiscano alle variabili di ambiente con% ANDROID_SDK% invece di $ ANDROID_SDK.
Mike

5
Insieme all'errore Cordova farà eco al percorso di ANDROID_HOME (nel caso in cui non lo trovi)! Se ANDROID_HOME non è impostato, puoi impostarlo manualmente in questo modo set ANDROID_HOME="C:\Users\*YOUR_USER_NAME*\AppData\Local\Android\sdk"ed eseguire i comandi precedenti.
Arno van Oordt

L'utilizzo di Android Studio e l'installazione della versione 24 di Android ha risolto questo problema per me.
David Douglas

3
Nonostante sdk build tools 24 installati. il mio problema non è stato risolto su macchina mac. Risolto il problema creando manualmente la cartella delle licenze e il file android-sdk-license come spiegato sopra
kushalvm

52

Ho avuto questo problema su Mac OS X 10.12.1 con Cordova 6.4.0 e Android Studio 2.2.3.

Quando ho installato Android Studio, ho installato la piattaforma 25, ma non 24. Per installare 24:

  • Apri Android Studio.
  • Apri Android Studio Menu > Preferences.
  • Appearance & Behavior > System Settings > Android SDK
  • Seleziona la casella per Android 7.0 (Nougat) | 24
  • Fare clic su OK e seguire le istruzioni.

Nota: non dimenticare di adattare la versione di Android alla piattaforma SDK mancante
Hugo H

2
L'ho fatto, ma probabilmente avrei potuto risparmiare un po 'di tempo facendo clic su "Mostra dettagli pacchetto" e selezionando solo l'SDK, anziché installare anche le API di Google e il codice sorgente.
Aaron

Sono passate settimane dalla mia ultima build. ricostruendo di nuovo la mia app Ho riscontrato lo stesso problema sopra ma lo risolvo dopo aver fatto questa soluzione.
Jur P

27

Ho avuto esattamente lo stesso problema. Poi ho installato "Android 7.0 (API 24)> Piattaforma SDK" e ha funzionato.

inserisci qui la descrizione dell'immagine


26

Il modo più semplice per risolvere questo problema è accettare le licenze utilizzando il seguente comando:

Sistema operativo Windows:

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

Ti verranno presentate delle dichiarazioni di non responsabilità. Per continuare i tuoi sforzi di sviluppo, devi rispondere "y" a tutte le esclusioni di responsabilità.


25

Vai a Android\sdk\tools\bin

Nessuna delle soluzioni di cui sopra ha funzionato per me e alla fine questa singola riga ha accettato tutte le licenze Android.

yes | sdkmanager --licenses && sdkmanager --update

1
Se gli windowsutenti ricevono un errore. Prova ad sdkmanager --licenses && sdkmanager --updateaccettare le licenze manualmente.
Rahmat Ali

Per gli utenti macOs vai a / Users / USERNAME / Library / Android / sdk / tools / bin e yes | ./sdkmanager --licenses. e ./sdkmanager --help per saperne di più.
Pushpak Sharma

13

Ho avuto il problema, non è necessario copiare o creare alcuna cartella, fai solo attenzione al percorso del tuo SDK, deve essere lo stesso della variabile di ambiente (ANDROID_HOME), che non era la stessa per me, non so perché.

posizione SDK


13

Nel mio caso non utilizzo lo studio Android (sto usando eclipse). Ho fatto il seguente passaggio: Risolto semplicemente eseguendo il comando

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

Che ha creato una licensesdirectory e ha aggiunto un file chiamato android-sdk-licenseal suo interno.

Quindi puoi eseguire (l' licensesopzione non è disponibile a meno che tu non abbia eseguito il passaggio precedente)

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

e accetta la licenza (tuttavia, nel mio caso non avevo bisogno di farlo)


9

Ho installato android sdk build-tools 24 (è la versione attuale 24.0.3) tramite SDK manager. Il percorso per aprire il gestore SDK è mostrato nel file img allegato. Questo ha risolto il mio problema con SDK Manager


1
Non vedo un'immagine allegata, ma ha funzionato anche per me. C'è un pulsante in Android Studio per SDK Manager, quindi puoi aprire un gestore SDK autonomo che ti permetterà di scaricare abbastanza facilmente tutte le cose di Android 24
Yonatan Kogan

Ancora una volta ho riscontrato lo stesso problema durante l'installazione utilizzando la build di Cordova in un altro PC con sistema operativo Windows 7. Questa volta avevo già installato gli strumenti di build 24. Quindi sono stati seguiti i passaggi menzionati da Feyyaz di seguito. Questo sta installando Android 7.0 (API 24) e ha funzionato. Quindi ritengo che l'ultima versione di Cordova superiore alla 6 abbia bisogno dell'API 24 con lo strumento di compilazione 24 o versione successiva. Ma non ho trovato alcuna documentazione per questo sul loro sito web.
BruS

su MacOS e Linux il gestore SDK è a $ ANDROID_HOME / tools / android
Tony Laidig

7

Ho avuto Android SDK installando Android Studio e ho ricevuto anche questo errore. C'è una semplice soluzione dalla guida per l'utente .

  1. Su una macchina con Android Studio installato, fare clic su Tools > Android > SDK Manager. Nella parte superiore della finestra, annota la posizione dell'SDK Android .

  2. Vai a quella directory e individua la licenses/directory al suo interno.

    (Se non vedi una licenses/directory, torna ad Android Studio e aggiorna i tuoi strumenti SDK, assicurandoti di accettare i contratti di licenza. Quando torni alla home directory di Android SDK, ora dovresti vedere la directory.)

  3. Copia l'intera licenses/directory e incollala nella Android SDK home directorymacchina su cui desideri creare i tuoi progetti.


7

Questo errore può verificarsi se il sistema non sta rilevando la variabile ambientale ANDROID_HOME dal percorso corretto. Assicurati di aver installato Android SDK e di aver impostato correttamente la variabile ANDROID_HOME sul percorso appropriato come nell'immagine seguente:

ANDROID_HOME_PATH

Se la variabile ANDROID_HOME non è definita, il sistema tenta di scegliere il percorso da un percorso predefinito (questo potrebbe non essere il percorso in cui è definito l'SDK Android, causando questo problema).



4

È perché per impostazione predefinita al momento della stesura di questo articolo, lo strumento Ionic CLI è impostato su

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

Questo è il motivo per cui si lamenta che non hai accettato il contratto di licenza, ma in realtà non hai installato i pacchetti SDK per quell'API livello ma da solo accettato la licenza.

Quindi quello che devi fare è entrambi

  1. Modifica la versione dell'SDK di destinazione
  2. Installa l'ultima versione dell'API SDK da SDK Manager

Modifica della versione dell'SDK

Puoi farlo manualmente e persino verificarlo eseguendo

ionic cordova platform add android 

il file può essere trovato in your-awesome-app/config.xml aprirlo e aggiungere questa riga, poiché è nascosto come indicato sopra

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

Se non sei sicuro di quale numero di livello API stai mirando, apri SDK Manager e guarda i livelli API (numeri) disponibili sulla tua macchina

Installazione del pacchetto SDK più recente

Puoi aggiungere i pacchetti SDK correnti che il CLI mostra, che nel tuo caso è 24

Esegui SDK MANAGERcome amministratore

Esegui SDK Manager come amministratore

Installa i pacchetti API SDK a cui ti rivolgi

È qui che viene scritto il livello API SDK

Come lo sapevo? L'ho fatto questa mattina ed è così che l'ho risolto e ora sto giocando Sticky Bubble su Android per rilassarmi un po '.

Felice distribuzione!


L'aggiunta targetSdkVersional config.xmlfile ha risolto il mio problema. Grazie :)
B Faley

4

Nel mio caso (script Dockerfile per creare un contenitore CI Android - https://github.com/menny/docker_android ), ho dovuto eseguire questi passaggi:

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

Due note:

  1. Ha dovuto creare un repositories.cfgfile vuoto o sdkmanagersarebbe morto.
  2. Ho dovuto eseguire il recupero / installazione di pacchetti in diverse chiamate, poiché non vi è alcuna indicazione di avanzamento.

4

Vai a C: \ Users {user} \ AppData \ Local \ Android \ sdk \ tools \ bin

quindi esegui sdkmanager --licenses

ti chiederà di accettare gli accordi che restano da accettare. dovrai solo digitare "y" e inserire.

Risolverà il problema


Questo è ottimo anche se hai un server di compilazione che deve scaricare automaticamente gli sdk.
Roel

L'ho provato e ho capito Couldn't load neither find main class com.android.sdklib.tool.SdkManagerCli. Idee?
PlayHardGoPro

Questo potrebbe essere utile stackoverflow.com/questions/40718487/… . puoi provare a eseguire "./SdkManagerCli" all'interno della cartella / sdklib / tools.
Lakshitha Ruwan

4

Sto usando un Mac e l'ho risolto usando questo 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

Poi ho avuto un elenco di 6 licenze da accettare e successivamente è stato risolto.


4

Puoi anche seguire la via "ufficiale". Esegui " sdkmanager --licenses " nella cartella tools / bin dell'installazione di Android SDK e accetta tutte le licenze. Fatto!

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

Per macOS o Linux è lo stesso comando.


3

Ho dovuto aggiornare l'SDK Android

android update sdk --no-ui

ad un certo punto ti chiederà un contratto di licenza, premi y . Successivamente è necessario rimuovere la piattaforma angolare.


3
  1. Vai alla posizione dell'SDK Android

C: \ Users \ nome utente \ AppData \ \ Android \ SDK \ Tools \ bin locale

  1. Esegui comando sdkmanager --licenses

  2. Accetta la licenza per SDK


4
Le stesse informazioni sono già state pubblicate più volte. In che modo il tuo migliora le risposte esistenti?
Stephen Kennedy

2

Ha bisogno di una piattaforma sdk stabile più recente installata. Ho installato la piattaforma SDK dall'API 25. Ha risolto il mio problema.Vedere la schermata di seguito


2

Questo problema sta emergendo quando nella macchina è già presente una vecchia versione di SDK Manager da cui è cambiato l'approccio alla build di Android che richiede "android studio". Ho affrontato questo problema in Visual Studio che è stato ripetutamente interrotto con il messaggio di errore "Non hai accettato la licenza per la versione 25". La soluzione per questo è "Installa Android Studio", quindi "vai su Variabili d'ambiente" e imposta ANDROID_HOME su "C: \ Users \\ AppData \ Local \ Android \ Sdk" (questo percorso può essere scelto da Android Studio, Menu >> Strumenti >> SDK Manager. Utilizza lo stesso anche nel "percorso" delle variabili di ambiente. In questo modo, il nuovo gestore SDK viene mappato per il ritiro dall'applicazione Visual Studio Build for Cordova.

Questo ha richiesto i miei 2 giorni di impegno per la seconda volta

Vorrei che gli altri non perdessero tempo in questo casino.


1

La modifica della build di destinazione potrebbe funzionare come indicato qui

Se vuoi specificare la versione dell'SDK puoi farlo aggiungendo la seguente riga al tuo config.xml nella radice del tuo progetto ionic / cordova

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


1

Spero che questo funzioni per qualcuno là fuori
che stavo affrontando lo stesso problema! Avevo 2 SDK, denominati come SDK e SDK1. Era collegato di default a sdk ma quello funzionante era sdk1. Quindi sono andato su Environment Varaible e ho aggiunto ANDROID_HOME e il percorso di sdk1, cioè nel mio caso era C: \ Users \ tripa_000 \ AppData \ Local \ Android \ sdk1 , e ha risolto il mio problema!


0

Per me stavo costruendo lo ionico usando il comando "ionic build android" e stavo ottenendo lo stesso problema! La soluzione era semplicemente

  • Per installare il file sdk
  • Eseguire lo stesso comando in CMD deve essere come amministratore

0

Ho appena riscontrato questo problema e cosa lo ha risolto per me su Windows, stai usando la riga di comando e hai recentemente installato Android SDK, devi riavviare il prompt dei comandi o Power Shell dopo aver installato Android SDK.


0

La risposta di Mike funziona, ma è necessario mettere la licenza generata in C: \ Users \ user \ AppData \ Local \ Android \ sdk \ License.


0

significa che la mancata corrispondenza della versione Android SDK di cordova con la versione installata. Ad esempio, cordova supporta Android SDK 24 ma non hai Android SDK 24. potrebbe essere inverso.


0

Questo aggiornerà il tuo SDK Android e accetterà la licenza allo stesso tempo (ex per Android 25):

aggiornamento android sdk --no-ui --filter build-tools-25.0.0, android-25, extra-android-m2repository


0

Il problema per me era che la mia variabile ANDROID_HOME veniva impostata su un'altra installazione che dimenticavo esistesse. Se questo è il tuo problema, elimina la vecchia installazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.