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


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

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


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

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


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


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


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


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


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


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


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


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.


1

este é o comando

Eu usei o seguinte:

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

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


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


1

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


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


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 

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
)

0

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



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

Usado abaixo o comando para instalar sdk 8 na plataforma cordova cordova add android@8.0.0
— 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


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


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


-1

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

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.