Erro “Falha ao instalar os seguintes pacotes Android SDK porque algumas licenças não foram aceitas”

124

Estou recebendo esse erro no jitpack, já tentei de tudo na internet. Abaixo está o meu erro

Failed to install the following Android SDK packages as some licences have not been accepted.
     platforms;android-26 Android SDK Platform 26
     build-tools;28.0.3 Android SDK Build-Tools 28.0.3
  To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.

E quando eu executo ./sdkmanager --licenses

 All SDK package licenses accepted.======] 100% Computing updates...             

Usar sudo com o comando acima dá

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
    at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
    at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
    ... 5 more

log de erro adicional

File /opt/android-sdk-linux/.android/repositories.cfg could not be loaded.
Checking the license for package Android SDK Build-Tools 28.0.3 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Build-Tools 28.0.3 not accepted.
Checking the license for package Android SDK Platform 26 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Platform 26 not accepted.

Eu não sei por que ele está verificando as licenças lá quando minha localização SDK é outra

Reenath Reddy Thummala
fonte
1
Parece haver uma solução um pouco maluca aqui , mas pode funcionar!
Jake Lee
2
Eu tive o mesmo problema. Baixei os SDKs relevantes por meio do Android Studio e em nenhum momento ele me perguntou sobre quaisquer licenças. Outro problema desnecessário.
Steve Smith

Respostas:

224

Você precisa aceitar as licenças antes de construir.

De acordo com os documentos do Android SDK, você pode usar o seguinte comando dependendo da localização do sdkmanager: Docs on --licensesoption parece estar faltando.

yes | sdkmanager --licenses

Ubuntu:

yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses

Mac OS:

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses

Janelas:

%ANDROID_HOME%/tools/bin/sdkmanager --licenses
Felix também
fonte
34
Recebi este erroException in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
HendraWD de
4
@HendraWD Se você instalou um Java extra em seu computador (Observação: o Android Studio tem seu próprio Java), certifique-se de que eles tenham a mesma versão. Caso contrário, pode ocorrer este erro. Resolvi agora definindo o caminho "Android Studio / jre" para JAVA_HOME.
Licat Julius
8
Para um Mac sem o Java instalado, eu tive que export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home, cd ~/Library/Android/sdk/tools/bin, ./sdkmanager --licenses.
Graham Perks
1
FWIW: Também parece que apenas JDK <11 é compatível e, curiosamente, o Ubuntu 18.04 vem com openjdk 11o jdk padrão. Depois de me certificar de que estava usando uma versão Java compatível, em vez disso Error: Could not create the Java Virtual Machine, peguei e descobri que precisava invocar sdkmanagerusando sudo.
JHH
Tive que executar o comando com sudo no ubuntu, sim | sudo ~ / Android / Sdk / tools / bin / sdkmanager --licenses
mramsath
46

no sistema operacional Windows, vá para o caminho do sdkmanager e execute

./sdkmanager.bat --licenses

Você pode encontrar o seu sdkmanager em C:\Users\USER\AppData\Local\Android\Sdk\tools\bin

Para encontrar o caminho real do seu Android SDK, siga a área marcada em vermelho da imagem abaixo

insira a descrição da imagem aqui

Masum
fonte
1
Depois disso, você pode revisar cada licença e aceitá-las de acordo com a mesma janela bash (Windows CMD gera um erro. Use git bash ou outro em vez de windows CMD)
Tharusha
33

Se você estiver trabalhando com Flutter, este comando definitivamente funcionaria para você.

flutter doctor --android-licenses
Adil Aslam Sachwani
fonte
17

Você pode aceitar os contratos de licença dos SDKs declarados acessando o SDK Manager (Configurações> [Pesquisar SDK do Android]) e localizar os pacotes indicados na mensagem de erro. Provavelmente, você encontrará SDKs que não estão totalmente instalados e, ao instalá-los, será necessário aceitar o contrato de licença.insira a descrição da imagem aqui

Hamu XD
fonte
1
Obrigado! Ajudou.
Naseem Ahamed
16

Para Windows, executei o seguinte para um platform;android-28erro

C:\Android\sdk\tools\bin> .\sdkmanager.bat "platforms;android-28"

e então concorda com a licença

Abenezer Wudenhe
fonte
1
Eu usei. \ sdkmanager.bat --licenses, mas não sabia que precisava usar "\" em vez de "/", obrigado pelo esclarecimento.
Hamza
execute o prompt de comando no modo de administrador, caso contrário não funcionará
Shashank
14

No Android Studio, vá para Ferramentas -> Gerenciador de SDK .

Vá para a guia SDK Tools .

Selecione as ferramentas de linha de comando do Android SDK (mais recentes) e baixe pressionando Aplicar .

insira a descrição da imagem aqui

No Windows , você pode encontrar o sdkmanager.bat em

C: \ Users \ [your_user] \ AppData \ Local \ Android \ Sdk \ cmdline-tools \ latest \ bin

insira a descrição da imagem aqui

george mano
fonte
Este ajudou
Sachin K,
Isso resolveu meu problema!
douglasrcjames
13

usar android-28com build-toolsuma versão 28.0.3; ou build-toolsna versão 26.0.3.

ou tente isto: yes | sudo sdkmanager --licenses

Martin Zeitler
fonte
2
No Windows, você pode simplesmente executar sdkmanager.bat --licensese digitar ytodas as perguntas.
Agung Santoso
11

Isso funciona para mim:

yes | ./sdkmanager "platforms;android-28"

yes | ./sdkmanager "build-tools;28.0.3"

yes | ./sdkmanager --licenses

Angelo Mendes
fonte
1
Funcionou bem para mim (Ubuntu 19.10, IntelliJ 2019.2.4). Eu só tive que instalar o openJDK porque eu tinha apenas o JDK embutido, não acessível do terminalsudo apt install openjdk-8-jdk
56ka
11

MacOS Catalina

Etapa 1: Alterar a preferência do Android Studio

  1. Abra seu Android Studio
  2. Pressione Command + ou vá para o canto superior esquerdo AppBar Android Studio> Preferências .
  3. No painel esquerdo, selecione Aparência> Configurações do sistema> Android SDK
  4. Selecione SDK Tools próximo a SDK Platforms e em Android SDK Location
  5. Marque Ferramentas de linha de comando do Android SDK (mais recente) e pressione o botão OK
  6. Espere que a instalação termine

Localizando preferências do Android Studio

Preferências do Android Studio

Etapa 2 (para usuários Flutter):

  1. Vá para o Terminal e execute o seguinte comando

flutter doctor --android-licenses

Etapa 2 (para usuários de Android):

  1. Vá para o Terminal e execute o seguinte comando

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home

yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses

Zaman
fonte
Obrigado: Muito semelhante em Centos 7
poleguy
4

Para usuários do Windows, você pode aceitar todos os termos de licença aqui. Cole o seguinte no seu terminal

C:/Users/USERNAME/AppData/Local/Android/Sdk/tools/bin/sdkmanager.bat --licenses

PS: USERNAME é o nome de usuário do seu PC

Samuel pinheiro
fonte
3

Você também pode instalá-lo por meio do SDK Manager diretamente no Android Studio:

Ferramentas -> SDK Manager -> Plataformas Sdk e aí você instala diretamente e está pronto para aceitar o contrato de licença

rm -rf
fonte
1

Percebi que no Windows, seu console deve ser aberto como administrador. Caso contrário, ele não considerará que você aceitou as licenças.

Farkhod
fonte
1

este é o comando

Eu usei o seguinte:

  • definir a rota de sdk> AppData \ Local \ Android \ Sdk \ tools \ bin>
  • execute. \ sdkmanager.bat --licenses
Frank portorreal
fonte
1

Tive alguns problemas e sou novo no Android Studio. Se você estava trabalhando originalmente com o react native e eu estava tentando extrair um apk dele.

Eu resolvi isso acessando o gerenciador de SDK no Android Studio e instalei a API de nível 28.

Funcionou para mim

Himanshu Suthar
fonte
1

MacOs Catalina

Basta instalar as ferramentas de acordo com a imagem anexada em AndroidSDK >> SDK Tools e elas funcionarão. Para mim, "Biblioteca de licenciamento do Google Play" estava faltando.

insira a descrição da imagem aqui

kzncrda
fonte
1

No flutter, você pode executar o flutter doctor --android-licences e digitar y para todas as licenças

Patrick Simard
fonte
0

No meu caso, esse problema ocorreu com flutter porque, a primeira coisa que instalei o android studio com o pacote padrão e, em seguida, instalei o flutter. Uma coisa que você pode notar aqui, o android studio padrão, não há necessidade de aceitar qualquer licença, então, para corrigir esse problema, precisamos aceitar todas as licenças manualmente.

Vamos para sdk>>tools>>bin pasta e execute o comando abaixo para aceitar todas as licenças.

. \ sdkmanager.bat --licenses

Sachin
fonte
0

No Mac OS 10.15.1, recebi o mesmo erro mesmo depois de aceitar todas as licenças executando sdkmanager --licensesFuncionou depois de atualizar a configuração do caminho ANDROID_HOME no ~ / .bash_profile para o seguinte

export ANDROID_HOME=/Users/your_username/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export PATH=$PATH:~/Library/Android/sdk/platform-tools

E recarregue o ~ / .bash_profile

source ~/.bash_profile 
s-hunter
fonte
0

Para adicionar às respostas, você também pode mudar para o diretório sdkmanager e em um sub shell e aceitar as licenças lá

(
    cd /home/user/android-sdk-linux/tools/bin
    yes | ./sdkmanager --licenses
)
the_prole
fonte
0

Acabei de fazer Arquivo -> Invalide caches e reinicie Em seguida, instalei os pacotes ausentes. Funcionou para mim.

user1239490
fonte
0

Para mac, experimente isto e funcionará:

Abra o terminal e vá para o caminho abaixo

cd /Users/anand/Library/Android/sdk
Cd tools/bin

Então digite o comando abaixo

yes | ./sdkmanager --licenses && ./sdkmanager --update
Anand_5050
fonte
Usado abaixo o comando para instalar sdk 8 na plataforma cordova cordova add [email protected]
Anand_5050
0

Isso funciona para mim:

  1. Abra o Android Studio

  2. Abra seu projeto Flutter

  3. Abra ferramentas no Android Studio que estarão no topo. Selecione SDK manager e, em seguida, marque:
    Android 9.0,
    Android 8.1,
    Android 8.0.
    Baixe-os, instale e reinicie o Android Studio

Kapil Ahuja
fonte
0

Tentei muitas soluções, mas não funcionou para mim. A solução abaixo funciona para mim.

localize o arquivo sdkmanager no Android SDK.

No meu caso: ~ / Android / Sdk / tools / bin

vá para aquele caminho: cd ~/Android/Sdk/tools/bin

Aceitar licenças manualmente: ./sdkmanager --licenses digite Sim ou s

Shubham Rasal
fonte
adicionar título adequado
cisne de
0

no sistema operacional Windows, vá para o diretório do caminho do sdkmanager em cmd

Você pode encontrar seu sdkmanager em C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ tools \ bin

em seguida, execute o seguinte comando:

sdkmanager --licenses

depois disso, ele pedirá para aceitar o contrato de licença várias vezes e, em seguida, aceitará todos apenas digitando y em cmd

Ragini Gupta
fonte
-1

Se todas as coisas acima não funcionarem, a melhor solução é: reinstalar o Android SDK

Thanh Ho
fonte