Flutter.io Android License Status Unknown

87

[!] Conjunto de ferramentas Android - desenvolver para dispositivos Android (Android SDK 27.0.3) >> • Android SDK a .. \ Android \ sdk • Localização Android NDK não configurada (opcional; útil para suporte nativo de criação de perfil) • Plataforma android-27, build-tools 27.0.3 • Binário Java em C: \ Arquivos de programas \ Android \ Android Studio \ jre \ bin \ java • Versão Java OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02) X Status da licença do Android desconhecido.

Estou recebendo um erro com o Android SDK quando executo o Flutter doctor, embora ainda possa construí-lo / executá-lo em meu dispositivo. Eu só estava curioso para saber como resolver esse problema. Acredito ter baixado a versão mais atualizada do Android SDK, não tenho certeza do que aconteceu porque não tive esse problema na semana passada.

## Novos problemas Depois de seguir várias correções possíveis nos comentários, surgiu um novo problema. Instalei versões mais recentes do android sdk P, 8 e 7 junto com um novo jdk10. Aparentemente, ainda não foi atualizado o suficiente.

C:\Flutter\flutter>flutter doctor --android-licenses
A newer version of the Android SDK is required. To update, run:
C:\Users\tdmil\AppData\Local\Android\sdk\tools\bin\sdkmanager --update

C: \ Flutter \ flutter> C: \ users \ username \ appdata \ local \ android \ sdk \ tools \ bin \ sdkmanager.bat --update

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
tdmiller
fonte
Pode ser útil para referências futuras. Eu estava usando o Windows 10 e tinha uma versão JDK 11. Conforme sugerido pela maioria das pessoas, fiz downgrade do meu JDK para a versão 8. Então executei flutter doctor. Ele ainda disse que a licença precisa ser aceita. Então eu corri flutter doctor --android-licensese disse yespara todos os contratos de licença. Finalmente o problema desapareceu :). Take away está
fazendo

Respostas:

77

Se você atualizou o SDK do Android, as licenças podem ter mudado. Dependendo de como você fez a atualização, você pode ou não ter sido solicitado a aceitar as alterações, ou talvez isso simplesmente não guarde o fato de que você as aceitou de uma forma que o flutter possa entender.

Para resolver, tente executar

flutter doctor --android-licenses

Isso deve solicitar que você aceite as licenças (pode solicitar primeiro, no caso, basta digitar ye pressionar enter - embora deva dizer isso a você).

Se você ainda tiver problemas depois de fazer isso, pode valer a pena abrir um novo bug no repositório Flutter Github ou adicionar um comentário sobre um problema existente como este , pois pode ser o que você está vendo.

rmtmckenzie
fonte
10
Isso me diz que uma versão mais recente do Android SDK é necessária. Para atualizar, execute: C: \ Users \ abc \ AndroidSDK \ tools \ bin \ sdkmanager --update. O que devo fazer?
Huzaifa Asif
@HuzaifaAsif você tentou executar esse comando? Esperançosamente, deve corrigir o problema. Se falhar, você pode querer pesquisar uma pergunta diferente ou fazer uma nova sobre ela.
rmtmckenzie
2
@HuzaifaAsif, também enfrentei esse problema algumas vezes, conforme respondido abaixo por Tommie C, tente instalar o java 1.8 manualmente e definir $ JAVA_HOME em sua pasta bin, execute flutter doctor --android-licences e aceite todas as licenças. Espero que ajude.
Deepak Joshi de
@HuzaifaAsif, como você reinstalou o SDK ... Estou bloqueando este erro porque estou usando o Android Studio versão 3.6
Mahmoud Harooney
Apenas um aviso! Isso só funcionou para mim usando Java 8.
Lucas Saldanha
50

O erro:

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

está ocorrendo porque a versão atual do SDK é incompatível com o Java 9.

Então, para resolver isso, você pode fazer o downgrade de sua versão java para Java 8 ou, com uma solução alternativa, você pode exportar a seguinte opção em seu terminal:

Linux:

export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

Windows :

set JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

E para fazê-lo ficar, você pode exportar os JAVA_OPTS em seu arquivo de perfil no Linux ( .zshrc, .bashrce etc.) ou adicionar como um ambiente permanentemente no Windows.


Em seguida, você pode digitar o comando flutter ou sdkmanager:

Flutter :

flutter doctor --android-licenses

sdkmanager :

sdkmanager --licenses

e digite Y quando necessário para aceitar as licenças.

ps. Isso não funciona para Java 11/11+, que não possui módulos Java EE. Para esta opção é uma boa ideia, fazer downgrade de sua versão Java ou esperar por uma atualização do Flutter .

Ref: JDK 11: Fim da estrada para módulos Java EE

valdeci
fonte
4
outra opção, se você tiver java 11 e 8 instalados, é exportar o ponto JAVA_HOME para java8:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Cristiano
1
Mudei JAVA_HOME para JDK 8 em Variáveis ​​de Ambiente no Windows e funcionou
GabrielBB
2
isso não funciona, pois java.se.eefoi removido nas versões mais recentes do java
Phani Rithvij
1
Você não pode fazer isso no Java 11. Você precisa instalar o Java 8. Veja esta resposta
Vahid
Se estiver no Linux, você pode usar: sudo update-alternativas --config java
Jim Newpower
30

A solução certa seria se você tiver o Android Studio instalado,

  1. gerenciador de SDK aberto
  2. nas ferramentas do SDK, desmarque ocultar pacotes obsoletos na parte inferior
  3. então você deve ver uma opção chamada Android SDK Tools (Obsolete)

insira a descrição da imagem aqui

  1. verifique e aplique e deixe o estúdio baixar o pacote
  2. uma vez feito isso, execute o comando flutter doctore ele agora deverá solicitar que você execute flutter doctor --android-licenses uma vez que você execute o comando de licença aceite todas as licenças pressionando y e deverá resolver o problema

insira a descrição da imagem aqui

maheshmnj
fonte
Isso é diferente da resposta principal?
tdmiller
1
este é exatamente o documento oficial atual para Mac em 18 de março de 2020 - consulte flutter.dev/docs/get-started/install/… . É um problema conhecido .
yair,
1
Obrigado pelo link @yair não sabia disso
maheshmnj
15

Estou escrevendo isso por causa da frustração em instalar o flutter ... A maioria dos problemas é causada por problemas de configuração simples. Siga estas etapas para resolver seus problemas.

ETAPA 1: LICENÇAS ANDROID - licenças android, resolverá a maioria dos casos

Uma vez que você está aqui, você atingiu o problema de "Status de licença desconhecido do Android" para a cadeia de ferramentas do Android, como muitos sugeriram tentar flutter doctor --android-licenses. Se você está bem com toda a configuração. Deve pedir um sim e pressionar y e Voila. Mas se mostrar um

insira a descrição da imagem aquiFerramenta sdkmanager do Android não encontrada (C\Users\__\local\Android\sdk\tools\bin\sdkmanager). Vá para a etapa dois

ETAPA 2: instalação do SDK Manager do Android Studio

Abra o Android Studio, File-> settings->System settings(left tab) ->Android SDK,vá para SDK Tool sectionnessa página, desmarque ocultar pacotes obsoletos, selecione Android SDL tools(obsolete)e pressione aplicar.

insira a descrição da imagem aqui Ele instalará o SDK e você o confirmará indo e verificando se este caminho existe(C\Users\__\local\Android\sdk\tools\bin\sdkmanager)

PASSO 3: Repita 1

Repita a etapa 1 após a instalação em uma nova linha de comando, verifique se está funcionando, caso contrário, vá para a etapa 4

PASSO 4: sdkmanager --update

Ele irá pedir para você atualizar o SDK, basta executar o comando fornecido no terminal C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update. Se estiver funcionando, então é legal. deixe-o terminar e repita o passo 1, caso contrário, se ele está lançando algumas exceções como java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchemaetc, java_error significa que seu java não está instalado ou não é a versão correta. Vá para a próxima etapa

PASSO 5: caminho JAVA 8.1 e JAVA_HOME.

Instale o JAVA 8.1 e defina o caminho JAVA_HOME. Certifique-se de que é a versão 8.1 (registre-se gratuitamente e baixe do oracle a versão 8.1, lembre-se acima de 11+ não funcionará para flutter insira a descrição da imagem aqui

NOTA : por yaniv maymon: yaniv maymon se você já tem o Java instalado no seu computador e o sdkmanager --update ainda não está funcionando. acesse a variável de ambiente e atualize o caminho "JAVA_HOME" para a pasta jdk. em seguida, saia do prompt de comando, abra-o novamente e execute o comando de atualização -

ETAPA 6: Etapa final

Após instalar e configurar o caminho corretamente, execute o C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update comando no novo terminal e ele funcionará

PASSO 7: Execute novamente o flutter doctor , Você pode vê-lo dizendo para executar o comando flutter doctor --android-licenses. então execute flutter doctor --android-licenses no terminal e pressione y quando solicitado

Ajay Tom George
fonte
se você já tem o Java instalado em seu computador e o sdkmanager --update ainda não está funcionando. acesse a variável de ambiente e atualize o caminho "JAVA_HOME" para a pasta jdk. em seguida, saia do prompt de comando, abra-o novamente e execute o comando de atualização
yaniv maymon
11

Aqui estão as etapas que resolvem meu problema:

  1. Abra seu terminal
  2. tipo flutter doctor --android-licenses
  3. pressione ypara aceitar, este processo pode ocorrer várias vezes. Feito!
Muhammad Fauzi Masykur
fonte
8

Eu encontrei esta solução para ter que usar o JDK 8 (você precisa de uma conta para fazer o download agora!) - use o OpenJDK integrado que vem com o Android Studio:

Adicione isto ao seu ~/.profileou semelhante:

# Use the JDK embedded with Android Studio for command-line builds
export JAVA_HOME='/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home'

As compilações de linha de comando via gradlewe qualquer outro script bem comportado usarão a versão do SDK que acompanha o Android Studio 2.2+.

* Meu Mac ainda estava usando o Java 7 padrão.

Aba
fonte
8

Basta instalar a ferramenta de linha de comando sdk (mais recente) a seguir no android studio. insira a descrição da imagem aqui

Nirbhay Rana
fonte
também
senti
1
Eu tive que fazer isso antes de correrflutter doctor --android-licenses
geg
5

Este também foi o meu problema, mesmo que # 16025

Para uma exceção no thread "main" java.lang.NoClassDefFoundError: javax / xml / bind / annotation / XmlSchema Este problema parece geralmente ocorrer quando você instala o Java 9 antes. BTW, não é compatível com android-sdk, tente remover o Java 9 JDK se ainda existir.

Em geral, as APIs JAXB são consideradas APIs Java EE e, portanto, não estão mais contidas no caminho de classe padrão em Java SE 9. Java 9 introduz os conceitos de módulos e, por padrão, o módulo agregado java.se está disponível na classe caminho (ou melhor, caminho do módulo). Como o nome indica, o módulo agregado java.se não inclui as APIs Java EE que foram tradicionalmente empacotadas com Java 6/7/8. Felizmente, essas APIs Java EE fornecidas no JDK 6/7/8 ainda estão no JDK, mas simplesmente não estão no caminho da classe por padrão. As APIs Java EE extras são fornecidas nos módulos a seguir

Solução para contornar se você tiver Java9 / 10 instalado

  1. Abra o sdkmanager em seu editor.
  2. Anexar DEFAULT_JVM_OPTS

Substituir

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME"'

Com este

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
  1. Salve o arquivo, feche o editor e tente executar o comando novamente.

Para o problema desconhecido de status de licença do Android, tentei resolver por estas etapas:

  1. Abra um terminal
  2. Vá para o local do Android SDK C: \ Users% user% \ AppData \ Local \ Android \ Sdk \ tools \ bin ou ~ / Library / Android / sdk / tools / bin

  3. Execute o comando: ./sdkmanager --license

Referências

Falha ao executar sdkmanager --list (Android SDK) com Java 9

Como resolver java.lang.NoClassDefFoundError: javax / xml / bind / JAXBException em Java 9

Juk
fonte
Tentei essa solução, o arquivo parece ter mudado um pouco desde então, mas ainda fiz as modificações necessárias, mas ainda sem sorte. Acho que vou esperar por uma atualização mais tarde que corrija isso, porque ainda posso executar o aplicativo. Obrigado de qualquer maneira!
tdmiller
4

Esta linha fornecida na comunidade de problemas do GitHub corrigiu meu problema, aqui está apenas no caso de ajudar mais alguém.

@rem Execute sdkmanager

"%JAVA_EXE%" %DEFAULT_JVM_OPTS% -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee %JAVA_OPTS% %SDKMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli %CMD_LINE_ARGS%
tdmiller
fonte
4

aqui está minha solução:

  1. instalar SDKMan

    $ curl -s "https://get.sdkman.io" | bash

  2. configurando seu bash_profile

    $ source "$HOME/.sdkman/bin/sdkman-init.sh

    $ source ~/.bash_profile

  3. encontre java sdk e selecione deseja instalar a versão

    $ sdk ls java

    $ sdk install java 8.0.192-zulu

  4. copie sua mensagem de aviso de flutter doctor para atualizar o sdkmanager

    $ /Users/YourUserName/Library/Android/sdk/tools/bin/sdkmanager --update

  5. após 1 ~ 4, refaça

    $ flutter doctor --android-licenses

ilyi1116
fonte
Pare! java 8.0.192-zulu não está disponível. Causas possíveis: * 8.0.192-zulu é uma versão inválida * Os binários do java são incompatíveis com o Darwin * O java ainda não foi lançado
Hos Mercury
3

MacOS 10.15: Android Studio 3.5.1:

A solução que funcionou para mim foi usar a ferramenta Java Environment jenv (instalada via homebrew ). Esta ferramenta muda o $ JAVA_HOME quando se alterna entre as versões java.

No meu caso, tenho várias versões do Java instaladas e a versão global atual em uso era a padrão. Também achei necessário comentar a variável de ambiente $ JAVA_HOME em meu .bash_profileao usar esta ferramenta.

No Terminal, digitei jenv global 1.8para obter o java 1.8 em execução em vez de uma versão posterior (tenho várias versões instaladas).

Depois disso:

flutter doctor --android-licenses

OU

sdkmanager --licenses

ambos funcionam bem.

Nota: Você pode precisar sair e reabrir o shell do Terminal se precisar redefinir a variável de ambiente $ JAVA_HOME.

Tommie C.
fonte
3

Consulte-- https://robbinespu.gitlab.io/blog/2020/03/03/flutter-issue-fixed-android-license-status-unknown-on-windows/

Então, aqui está a solução, abra seu gerenciador de SDK e desmarque Hide Obsolete Packages

insira a descrição da imagem aqui

Agora você verá que Android SDK Tools (Obsolete) 26.1.1aparece. Marque esse pacote e clique no apply buttonbotão OK. ele fará o download do SDK. então restartAndroid Studio

Legal, agora se você correr flutter doctor, deve obter um resultado positivo conforme abaixo

PS D:\Workplace\flutter_projects> flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.12.13+hotfix.8, on Microsoft Windows [Version 10.0.18363.657], locale en-MY)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[√] Android Studio (version 3.6)
[√] VS Code (version 1.42.1)
[√] Connected device (1 available)

• No issues found!

PS D:\Workplace\flutter_projects> flutter doctor --android-licenses -v
All SDK package licenses accepted.======] 100% Computing updates...

Corre flutter doctor --android-licenses e digite Y quando for solicitado

se necessário, podemos baixar o pacote manualmente aqui https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip (para usuário do Windows). Espero que este tutorial ajude as pessoas que procuram soluções

DV Yogesh
fonte
Isso realmente me ajudou :)
Diga OL
2

Para aqueles que estão no Linux e continuam recebendo erros durante flutter doctor --android-licenses .

Continuei recebendo o aviso de não foi possível criar configurações ao tentar aceitar licenças, o que corrigi especificando o local do SDK:

sdkmanager --sdk_root=/home/adel/bin/android-sdk --licenses

Sdkmanager então impresso: todas as licenças de pacote SDK aceitas.

No entanto, Flutter continuou dando ao status de licença do Android um erro desconhecido . E tentar ligar flutter doctor --android-licensesme daria o mesmo erro não poderia criar configurações que eu costumava obter.

Para corrigir isso, editei o sdkmanagerscript localizado em $ {your android tools location} / tools / bin / e alterei a última linha de:

exec "$JAVACMD" "$@"

Para:

exec "$JAVACMD" "$@" --sdk_root=/home/adel/bin/android-sdk

Isso faria o Flutter chamar sdkmanager enquanto passava o argumento sdk_root necessário, uma chamada final para flutter doctor --android-licensescorrigir o problema.

Não precisei usar o Java 8.

Adel Khial
fonte
Obrigado por sua resposta, isso corrigiu meu problema. Não entendo por que alguém votou negativamente. Obrigado novamente.
marijnz0r
A única solução na internet que funcionou para mim! Obrigado parceiro! :)
Punita Ojha
1

abra o arquivo flutter_console.bat da pasta raiz flutter SDK e execute o comando

flutter doctor --android-licenses

ele aceitará as licenças de atualizações recém-baixadas do Android SDK. Você precisa executá-lo sempre que fizer download e atualizar o SDK do Android.

Kiran Maniya
fonte
1

Tente fazer o downgrade da sua versão java , isso acontecerá quando a versão do seu sistema java não for compatível com a versão do android. Depois de alterar a versão do java, basta executá- flutter doctorlo e ele aceitará automaticamente as licenças.

Shabeer Ali
fonte
1

Eu fiz downgrade da minha versão Java para 1.8 e está resolvido, aqui está o link para baixar o JDK8

Execute o seguinte comando após instalar o JDK8

   flutter doctor --android-licenses
Rahul Kumar
fonte
1

Meu ambiente: Windows 10 64 bits, OpenJDK 14.0.2

Os erros iniciais são os relatados acima.

O erro foi resolvido após

  1. Substituído " C: <pasta-de-instalação> \ openjdk-14.0.2_windows-x64_bin \ jdk-14.0.2 " por "* C: \ Arquivos de programas \ Android \ Android Studio \ jre * " na variável de ambiente PATH & JAVA_HOME
  2. executou flutter doctor --android-licences e selecionou y para os prompts
Baburaj
fonte
1

No meu caso faltou o problema Android SDK Command-line tools

insira a descrição da imagem aqui

Hasan A Yousef
fonte
0

O mesmo problema para mim, verifique sua versão java pelo menos deve ser 1.8

Cesar Rodriguez T
fonte
0
  1. Abra o Android Studio.
  2. Vá para Arquivo-> Configurações.
  3. Procurar por AndroidSDK .
  4. Atualize seu nível de API para a versão mais recente.
  5. Em seguida, recarregue o Android Studio.
Mohit Jadav
fonte
0

Para alguém que ainda está enfrentando o problema :
Conforme respondido abaixo por Tommie C, Aba e algumas outras pessoas, mas pode não estar claro o suficiente como eu achei.
Tente instalar o java 1.8 manualmente conforme descrito aqui no windows / linux: [ https://www3.ntu.edu.sg/home/ehchua/programming/howto/JDK_Howto.html]
e configuração variável $ JAVA_HOME (caminho jdk).
No Windows, defina o caminho jdk ($ JAVA_HOME): [ Como definir java_home no Windows 7? .
No linux: [ /ubuntu/175514/how-to-set-java-home-for-java] .
Em seguida, execute flutter doctor --android-licensese aceite todas as licenças. Espero que ajude.

Deepak Joshi
fonte
0

Encontrei esta solução. Baixo o JDK 8. Em seguida, adiciono o download do nome do caminho do arquivo jdk de JAVA_HOME nas variáveis ​​de usuário na variável de ambiente.

Çağla Doğançay
fonte
0

Eu enfrentei o mesmo problema, como mencionei acima, tentei estes.

  1. Instalei o JDK 1.8 e defina meu env JAVA_HOME para 1.8 - Isso não funcionou
  2. Meu estúdio Android não mostrava nenhum "Android SDK Tools (Obsolete)", mas tinha um "Android SDK Tools"

Isto é o que funcionou para mim:

  1. Exclua as "Ferramentas do Android SDK" do SDK Manager
  2. Reinstale-o desmarcando primeiro "Hide Obsolete Packages" e, em seguida, selecione "Android SDK Tools (Obsolete)" e instale-o.
  3. execute flutter doctor --android-licensese selecione ypara os prompts
  4. corra flutter doctore tudo vai ficar bem !!!!
Jerric Lyns John
fonte
0

Eu estava enfrentando um problema. A toolspasta também estava faltando na Android SDKpasta. Eu acredito que a toolspasta só aparece após a instalaçãoAndroid SDL tools(obsolete ). Esta opção não estava disponível para mim.

Solução: Eu atualizei Javada versão 8 para a versão 12 e consegui instalar as ferramentas. Você ainda pode obter o erro Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licensesao fornecer o comando flutter doctor -v. Execute o comando flutter doctor --android-licenses, as licenças serão revisadas quando você clicaryes sempre que esta pergunta aparecerAccept? (y/N):

Espero que ajude alguém.

Jasmim
fonte
0

Se você usar barril caseiro , você pode fazer

brew cask install android-sdk
mkdir ~/Library/Android/sdk/tools
ln -s /usr/local/bin/ ~/Library/Android/sdk/tools/bin
flutter doctor --android-licenses
Bruce
fonte
0

Para os usuários do Windows, uma solução de curto prazo é fazer o downgrade para JDK8. Esperançosamente, o flutter corrigirá o problema em breve para que o Android SDK funcione com o> JDK8.

Hasan Sawan
fonte
0

Depois de fazer muitas análises para meu Ubuntu 20.04, encontrei a solução

para mim, o erro /home/rk/Android/Sdk/tools/bin/sdkmanagerestava faltando permissão de gravação .

  1. chmod +w home/rk/Android/Sdk/tools/bin/sdkmanager

Em seguida, execute o comando abaixo.

  1. flutter doctor --android-licenses

ele processa automaticamente as licenças.

Rajath
fonte
0

Siga estas etapas simples.

  1. vá para ferramentas, gerente de SDK e clique em SDK para Android.
  2. clique na guia SDK update sites.
  3. marque a caixa de seleção que indica https: //..sources a serem buscados usando https: //.
  4. clique em aplicar e ok.
  5. Agora reinicie o Android Studio.
  6. vá para ferramentas do SDK e marque a caixa de seleção que indica Ocultar pacotes obsoletos.
  7. espere cerca de um minuto ou mais para que os pacotes apareçam.
  8. em seguida, selecione um pacote chamado "android SDK tools (obsolete) e pressione ok.
  9. continue a instalar o pacote.
  10. após a instalação, reinicie o android studio e também reinicie o cmd, depois execute o flutter doctor.
  11. vai demorar alguns minutos e deve funcionar
Sule Mohammed
fonte
-1

ATENÇÃO : esta resposta é útil se você tiver problemas com a variável de ambiente JAVA_HOME e a direção disso. Se você não tiver esse problema, não deve tentar esta solução.

Se você teve esse erro e tentou com flutter doctor --android-licences ou sdkmanager --licenses e teve um problema com sua variável de ambiente JAVA_HOME, então você deve ler isto.

Eu tenho uma formiga MacOS Catalina que poderia resolver esse problema com sucesso com as próximas etapas:

  1. Abra seu terminal
  2. Digite: open -e .bash_profile (você deve ver quase duas variáveis ​​ambientais: flutter e JAVA_HOME)
  3. Salve a variável de ambiente JAVA_HOME gravada lá em um arquivo textEdit se desejar e DELETE a variável de ambiente JAVA_HOME. Salve o bash_profile.
  4. Vá para o terminal novamente e execute o código-fonte $ HOME / .bash_profile
  5. Tente novamente flutter doutor e você não verá mais o mesmo erro.

Por favor, deixe-me saber se você tiver dúvidas.

Neto Paez
fonte
-1

Aqui está o que fiz para corrigir meu problema. Observe que você não precisa desinstalar sua cópia antiga do Android Studio / SDK. O Android Studio cuidará disso enquanto você instala a versão mais recente.

  1. Baixe e instale a versão mais recente do Android Studio
  2. Siga as instruções neste tutorial
  3. Assim que a instalação for concluída, execute o flutter doctor e verifique, seu problema deve ter sido resolvido. Se o problema for resolvido, não há necessidade de executar o comando flutter doctor --android-licences .
eVagabond
fonte