Não é possível aceitar o contrato de licença Android SDK Platform 24

119

Estou recebendo o seguinte erro ao tentar instalar uma plataforma Android em um projeto Cordova. Eu tenho seguido este guia: https://cordova.apache.org/docs/en/latest/guide/cli/

Ocorre um erro ao executar o seguinte: $ cordova platform add android --save

Ocorreu um problema ao configurar o projeto raiz 'android'. Você não aceitou os contratos de licença dos seguintes componentes do SDK: [Android SDK Platform 24].

Pesquisei em todo o lado maneiras de aceitar o contrato de licença da Plataforma SDK do Android 24 , mas sem sorte.

Obrigado antes do tempo.

Daneye
fonte
1
para Windows, abra o Gerenciador do SDK com acesso de administrador. Desmarque tudo, Localizar plataforma SDK 24, verifique se instalar. Lá você pode aceitar a licença.
Nick Chan Abdullah
1
para mim o problema foi ter instalado android-sdka partir de vários lugares ( brew, brew caske android-studio) e não chamar o apropriado sdkmanager --licensescomando
Pierre-Alexis de Solminihac
Possível duplicata de Aceitar automaticamente todas as licenças do SDK
user202729 19/02/19

Respostas:

167

Você também pode simplesmente executar

$ ANDROID_HOME / tools / bin / sdkmanager --licenses

Ou para Windows, execute

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

(crédito pelo comando windows para @ puneet-kumar)

Hardik Patel
fonte
No Mac, o sdk está em / Biblioteca / Android /
Tyler Chong
Funcionou muito bem para o Android 26 e 27 também. Tive o mesmo problema, mas aconteceu quando meu cordova atualizados Gradle 4,0-4,1
Trevor
@PuneetKumar este comando não está funcionando para mim. eu tenho arquivo sdkmanager.bat na pasta tools / bin
Heemanshu Bhalla
no linux - bash: / tools / bin / sdkmanager: Nenhum arquivo ou diretório desse tipo
Niladri Banerjee - Uttarpara
Você tem uma maneira de executar isso de maneira não interativa?
precisa saber é o seguinte
163

Não sei exatamente como funciona o cordova, mas uma vez que as licenças são aceitas, ele cria um arquivo. Você pode criar esse arquivo manualmente. Está descrito nesta questão , mas aqui estão os comandos para criar o arquivo de licença necessário.

Linux:

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

Janelas:

mkdir "%ANDROID_HOME%\licenses"
echo |set /p="8933bad161af4178b1185d1a37fbf41ea5269c55" > "%ANDROID_HOME%\licenses\android-sdk-license"
Mike
fonte
Ei Mike, de qual diretório o que eu executo esses comandos? Obrigado!
21416 Daneye
O diretório de trabalho não deve importar, desde que a variável de ambiente $ ANDROID_SDK esteja definida. Também pode ser $ ANDROID_HOME. Um deles deve ser definido; É a localização do SDK do Android. Você pode digitar 'printenv' e pesquisar nas variáveis ​​definidas para encontrá-lo. Ou apenas 'echo $ ANDROID_HOME' para ver se está definido. Isso está assumindo linux ... windows, você referenciaria as variáveis ​​de ambiente por% ANDROID_SDK% em vez de $ ANDROID_SDK.
Mike
5
Junto com o erro, o Cordova repetirá o caminho para ANDROID_HOME (caso você não consiga encontrá-lo)! Se ANDROID_HOME não estiver definido, você poderá configurá-lo manualmente assim set ANDROID_HOME="C:\Users\*YOUR_USER_NAME*\AppData\Local\Android\sdk"e executar os comandos acima.
Arno van Oordt
O uso do Android Studio e a instalação da versão 24 do Android corrigiram esse problema para mim.
David Douglas
3
Apesar do sdk build tools 24 instalado. meu problema não foi resolvido na máquina mac. Resolvido este por licenças a criação manual de pasta e ficheiro Android-SDK-licença como explicado acima
kushalvm
52

Eu tive esse problema no Mac OS X 10.12.1 com Cordova 6.4.0 e Android Studio 2.2.3.

Quando instalei o Android Studio, ele instalou a Plataforma 25, mas não 24. Para instalar 24:

  • Abra o Android Studio.
  • Aberto Android Studio Menu > Preferences.
  • Appearance & Behavior > System Settings > Android SDK
  • Marque a caixa para Android 7.0 (Nougat) | 24
  • Clique em ok e siga as instruções.
jxmallett
fonte
Nota: não se esqueça de ajustar a versão Android para a plataforma SDK faltando
Hugo H
2
Fiz isso, mas provavelmente poderia ter economizado um pouco de tempo clicando em "Mostrar detalhes do pacote" e selecionando apenas o SDK, em vez de instalar as APIs e o Google Source também.
Aaron
Semanas se passaram desde a minha última compilação. Ao recriar meu aplicativo novamente, experimentei o mesmo problema acima, mas o resolvi depois de fazer esta solução.
Jur P
27

Eu tive exatamente o mesmo problema. Então eu instalei "Android 7.0 (API 24)> Plataforma SDK" e funcionou.

insira a descrição da imagem aqui

feyyaz
fonte
26

A maneira mais simples de resolver esse problema é aceitar as licenças usando o seguinte comando:

SO Windows:

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

Você será apresentado com isenções de responsabilidade. Para continuar seus esforços de desenvolvimento, você precisa responder 'y' a todos os avisos de isenção de responsabilidade.

Matriz completa
fonte
25

Vamos para Android\sdk\tools\bin

Nenhuma das soluções acima funcionou para mim e, finalmente, essa linha única aceitou todas as licenças do Android.

yes | sdkmanager --licenses && sdkmanager --update
vishwaraj
fonte
1
Se os windowsusuários estiverem recebendo um erro. Tente sdkmanager --licenses && sdkmanager --updatee aceite as licenças manualmente.
Rahmat Ali 23/01
Para usuários do macOs, vá para / Users / USERNAME / Library / Android / sdk / tools / bin e yes | ./sdkmanager --licenses. e ./sdkmanager - ajude a saber mais.
Pushpak Sharma
13

Eu tive o problema, você não precisa copiar nem criar nenhuma pasta, apenas tome cuidado com o caminho do seu SDK, ele deve ser o mesmo da variável de ambiente (ANDROID_HOME), que não era a mesma para mim, não sei por quê.

localização sdk

John
fonte
13

No meu caso, não uso o estúdio Android (estou usando o eclipse). Eu fiz o seguinte passo: Resolvido apenas executando o comando

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

Que criou um licensesdiretório e adicionou um arquivo chamado android-sdk-licensedentro dele.

Em seguida, você pode executar (a licensesopção não estará disponível, a menos que você tenha feito o passo acima)

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

e aceite a licença (no entanto, no meu caso, não precisei fazer isso)

BeeZone
fonte
9

Eu instalei o android sdk build-tools 24 (é a versão atual 24.0.3) através do gerenciador do SDK. O caminho para abrir o gerenciador do SDK é mostrado no arquivo img anexado. Isso resolveu meu problema SDK Manager

BruS
fonte
1
Não vejo uma imagem anexada, mas isso funcionou para mim também. Há um botão no Estúdio Android para SDK Manager, e em seguida, você pode abrir um gerente autônomo SDK que permitirá que você baixar muito facilmente todo o android 24 coisas
Yonatan Kogan
Mais uma vez eu enfrentei o mesmo problema ao instalar usando o cordova build em outro pc com o Windows 7 OS. Desta vez, eu tinha as ferramentas 24 já instaladas. Passos assim seguidos mencionados por Feyyaz abaixo. Isso está instalando o Android 7.0 (API 24) e funcionou. Por isso, sinto que a última versão cordova com mais de 6 precisa da API 24 com a ferramenta de compilação 24 ou versão superior. Mas não encontrei nenhuma documentação para isso em seu site.
BruS 7/16
no MacOS e Linux, o gerenciador do SDK está em $ ANDROID_HOME / tools / android
Tony Laidig
7

Eu tinha o SDK do Android instalando o Android Studio e também recebi esse erro. Há uma solução simples no guia do usuário .

  1. Em uma máquina com o Android Studio instalado, clique em Tools > Android > SDK Manager. Na parte superior da janela, observe o local do SDK do Android .

  2. Navegue para esse diretório e localize o licenses/diretório dentro dele.

    (Se você não vir um licenses/diretório, retorne ao Android Studio e atualize suas ferramentas SDK, certificando-se de aceitar os contratos de licença. Quando você retornar ao diretório inicial do Android SDK, deverá ver o diretório agora.)

  3. Copie o licenses/diretório inteiro e cole-o Android SDK home directoryna máquina em que deseja criar seus projetos.

Java Xu
fonte
7

Este erro pode ocorrer se o sistema não estiver captando a variável de ambiente ANDROID_HOME do caminho correto. Verifique se você instalou o Android SDK e definiu a variável ANDROID_HOME corretamente para o caminho apropriado, como na imagem abaixo:

ANDROID_HOME_PATH

Se a variável ANDROID_HOME não estiver definida, o sistema tentará escolher o caminho de um caminho padrão (esse pode não ser o caminho em que o SDK do Android está definido, levando a esse problema).

Krishna_Anipindi
fonte
5

Instale o seguinte componente:

insira a descrição da imagem aqui

Sumant Singh
fonte
4

Isso ocorre porque, por padrão, no momento da redação deste documento, a ferramenta CLI Ionic é padronizada para

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

Essa é a razão pela qual reclama que você não aceitou o contrato de licença, mas, na realidade, você não instalou os pacotes SDK para essa API nível de ainda assim aceita a licença.

Então, o que você precisa fazer é

  1. Alterar a versão do SDK de destino
  2. Instale o nível mais recente da API do SDK no SDK Manager

Alterando sua versão do SDK

Você pode fazer isso manualmente e até verificá-lo executando

ionic cordova platform add android 

o arquivo pode ser encontrado em your-awesome-app/config.xml abri-lo e adicione esta linha, pois está oculto conforme indicado acima

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

Se você não tiver certeza do número do NÍVEL da API que você está direcionando, abra o SDK Manager e veja os níveis (números) da API disponíveis na sua máquina

Instalando o pacote mais recente do SDK

Você pode adicionar os pacotes SDK atuais que a CLI está mostrando, que no seu caso são 24

Executar SDK MANAGERcomo administrador

Execute o SDK Manager como administrador

Instale os pacotes da API do SDK que você está direcionando

É aí que o nível da API do SDK é gravado

Como eu soube disso? Eu fiz isso esta manhã e foi assim que resolvi e agora estou jogando o Sticky Bubble no Android para relaxar um pouco.

Feliz implantação!

Fahad
fonte
A adição targetSdkVersionao config.xmlarquivo corrigiu meu problema. Obrigado :)
B Faley 4/17
4

No meu caso (script Dockerfile para criar um contêiner de IC Android - https://github.com/menny/docker_android ), eu tive que executar estas etapas:

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

Duas notas:

  1. Tinha que criar um repositories.cfgarquivo vazio ou sdkmanagermorreria.
  2. Teve que realizar a busca / instalação de pacotes em diferentes chamadas, pois não há indicação de progresso.
Menny
fonte
4

Vá para C: \ Usuários {usuário} \ AppData \ Local \ Android \ sdk \ tools \ bin

em seguida, execute sdkmanager --licenses

solicitará que você aceite os acordos restantes a serem aceitos. basta digitar "y" e inserir.

Vai resolver o problema

Lakshitha Ruwan
fonte
Isso também é ótimo se você tiver um servidor de compilação que precisa fazer o download automático de sdk's.
Roel
Eu tentei isso e entendi Couldn't load neither find main class com.android.sdklib.tool.SdkManagerCli. Ideias?
PlayHardGoPro
Isso pode ser útil stackoverflow.com/questions/40718487/… . você pode tentar executar './SdkManagerCli' dentro da pasta / sdklib / tools.
Lakshitha Ruwan
4

Estou usando o Mac e resolvi-o 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

Então eu tinha uma lista de 6 licenças para aceitar e sua resolução depois disso.

Neel
fonte
4

Você também pode seguir o caminho "oficial". Execute " sdkmanager --licenses " na pasta tools / bin da instalação do Android SDK e aceite todas as licenças. Feito!

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

Para macOS ou Linux, é o mesmo comando.

Georgy K
fonte
3

Eu tive que atualizar o sdk android

android update sdk --no-ui

em algum momento, solicitará um contrato de licença, pressione y. Depois disso, você precisa remover a plataforma angular.

Tasnim Reza
fonte
3
  1. Ir para o local do SDK do Android

C: \ Usuários \ nome de usuário \ AppData \ Local \ Android \ sdk \ tools \ bin

  1. Comando de execução sdkmanager --licenses

  2. Aceite a licença do SDK

Inder malviya
fonte
4
A mesma informação já foi publicada várias vezes. Como o seu melhora as respostas existentes?
Stephen Kennedy
2

Ele precisa da mais recente plataforma sdk estável instalada. Eu instalei a plataforma SDK a partir da API 25. Foi corrigido o meu problema.Veja a captura de tela abaixo

Tushar Walzade
fonte
2

Esse problema está aparecendo quando uma versão antiga do SDK Manager já está na máquina, de onde a abordagem de compilação do Android foi alterada, o que requer "android studio". Eu enfrentei isso no Visual Studio que foi repetidamente interrompido com a mensagem de erro "Você não aceitou a licença para a versão 25". A solução para isso é "Instalar o Android Studio" e, em seguida, "vá para Variáveis ​​de ambiente" e defina ANDROID_HOME como "C: \ Usuários \\ AppData \ Local \ Android \ Sdk" (esse caminho pode ser escolhido no Android Studio, menu >> Ferramentas >> Gerenciador de SDK.Também use o mesmo no "caminho" das Variáveis ​​de Ambiente. Dessa forma, o novo gerenciador de SDK é mapeado para coleta pelo Visual Studio Build for Cordova Application.

Isso só levou meu esforço de 2 dias pela segunda vez

Desejo que os outros não percam seu tempo nessa bagunça.

ekambar kodali
fonte
1

Alterar a construção de destino pode funcionar como referenciado aqui

Se você quiser especificar a versão do SDK, poderá fazê-lo adicionando a seguinte linha ao seu config.xml na raiz do seu projeto ionic / cordova

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

Espero que isso funcione para alguém lá fora,
eu estava enfrentando o mesmo problema! Eu tinha 2 SDKs, nomeados como SDK e SDK1. Era o padrão vinculado ao sdk, mas o que funcionava era o sdk1. Então eu fui para Ambiente varaible e acrescentou ANDROID_HOME eo caminho do sdk1, ou seja, no meu caso foi C: \ Users \ tripa_000 \ AppData \ Local \ Android \ sdk1 , e resolveu o meu problema!

Tripathee Gaurav
fonte
0

Para mim, eu estava construindo o Ionic usando o comando "ionic build android" e estava recebendo o mesmo problema! A solução foi simplesmente

  • Para instalar o sdk necessário
  • Execute o mesmo comando no CMD deve ser o administrador
Adel
fonte
0

Acabei de encontrar este problema e, o que o resolveu no Windows, você está usando a linha de comando e instalou recentemente o android sdk, deve reiniciar o prompt de comando ou o Power Shell depois de instalar o android sdk.

Norman Breau
fonte
0

A resposta de Mike funciona. Mas é necessário colocar a licença gerada em C: \ Usuários \ usuário \ AppData \ Local \ Android \ sdk \ licenças.

Thyagarajan C
fonte
0

sua falta média corresponde à versão do cordova do Android SDK com a versão que você instalou. Por exemplo, o cordova suporta o Android SDK 24, mas você não tem o Android sdk 24. pode ser inverso.

Yusuf
fonte
0

Isso atualizará o SDK do Android e aceitará a licença ao mesmo tempo (ex para Android 25):

atualização do android sdk --no-ui --filtre build-tools-25.0.0, android-25, extra-android-m2repository

Yann Ulrich
fonte
0

O problema para mim era que minha variável ANDROID_HOME estava sendo configurada para outra instalação que esqueci que existia. Se este for seu problema, exclua a instalação antiga.

Cilan
fonte