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.


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

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)


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"

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.

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


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.


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

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


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)


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


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.


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



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!


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.

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


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.


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.


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.


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


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


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.


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


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!


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

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.


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.


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.


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


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.