Android Studio instala sem sdkmanager

15

Tenho programado no Flutter usando o macOS 10.15.3, segmentando dispositivos iOS. Hoje eu tentei instalar o Android Studio também, para me ramificar. A instalação foi sem erros, mas Library/Android/sdk/não há toolssubdiretório, o que é um problema, porque sdkmanageré suposto ser encontrado dentro Library/Android/sdk/tools/bin.

Notei isso porque correr flutter doctorme dava:

     Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit https://flutter.dev/setup/#android-setup for detailed instructions.

Tentei reinstalar o Android Studio (sem diferença). Outras soluções postadas online falam sobre a versão Java, então atualizei o JRE de 1.7 para 1.8 e tentei reinstalar o Android Studio (sem diferença) e atualizei o JDK para o mais recente (agora a versão Java é 11.0.6) e tentei instalar Android Studio novamente (sem diferença). Também atualizei o Flutter para a v1.12.13 + hotfix.8 durante o procedimento acima, mas esse erro não desaparece.

Se eu digitar flutter doctor --android-licenses, recebo:

    Android sdkmanager tool not found (/Users/macuser/Library/Android/sdk/tools/bin/sdkmanager).
    Try re-installing or updating your Android SDK,
    visit https://flutter.dev/setup/#android-setup for detailed instructions.

Foi assim que notei que faltava parte do Android Studio.

Tentei trapacear criando um tools/binsubdiretório e copiando sdkmanagerde um plugin Library/Android/sdk/cmdline-tools/latest/binpara o meu novo Library/Android/sdk/tools/bin. No entanto, isso não enganou Flutter. A execução flutter doctor --android-licenseslevou a:

A newer version of the Android SDK is required. To update, run:
/Users/macuser/Library/Android/sdk/tools/bin/sdkmanager --update

Isso está errado porque o SDK do Android é o mais novo.

Alguém sabe por que o Android Studio estaria constantemente ausente do tools/binsubdiretório e dos presentes? Obrigado e desculpe se eu esqueci algo básico.

Mark Ebden
fonte

Respostas:

25

Atualização 1 (2020-02-29)

Parece que a versão mais recente do Android SDK renomeou o pacote ' Android SDK tools ' para ' Android-SDK tool line tools '. Infelizmente, a versão estável atual do SDK do Flutter ( v1.12.13+hotfix.8) não é compatível com essa alteração e continua mostrando a mensagem de erro.

Descrição da imagem

Gambiarra:

Como o @Mark Ebden sugeriu, você pode simplesmente desmarcar a caixa de seleção Ocultar pacotes obsoletos na página de ferramentas do SDK e verá o Android SDK Tools (Obsoleto) 26.1.1 . Instale-o e você estará pronto. Se você encontrar algo faltando, leia as seguintes instruções detalhadas.

Consulte esta edição no repositório de vibração para obter mais informações.


Aqui estão os detalhes completos que você deseja ao instalar o android studio com a versão mais recente do Mac OS.

1. Instale a versão estável do Android Studio.

2. Abra o estúdio android

3. abra o gerenciador de SDK. Veja a imagem abaixo.

insira a descrição da imagem aqui

4. Verifique se você baixou todos os itens necessários. Veja as imagens abaixo.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Observe que estou usando um local personalizado ( / Users / darish / development / sdk / android ) para o meu Android SDK em vez do local padrão (Library / Android / sdk /)

5. Vá para o diretório inicial e verifique se existe um .bash_profile ou não. Se sim, abra-o; se não, crie um. Adicione o seguinte conteúdo a esse arquivo.

 export PATH="$PATH:~/development/sdk/flutter/bin"
 export ANDROID_HOME="/Users/darish/development/sdk/android"
 export PATH="$PATH:$ANDROID_HOME/platform-tools"

6. Depois que todas as etapas acima estiverem concluídas, execute o flutter doctor --android-licenças e aceite todas as licenças.

flutter doctor --android-licenses

7. Agora, execute o médico da vibração para ver tudo bem. Se precisar de mais assistência, me avise. :)

É tudo, tenha um bom dia :)

Darish
fonte
Obrigado, o problema foi que, na etapa 4, minha tela estava ausente Android SDK tools. Entre Android SDK Platform-Toolse Documentation for Android SDK, não havia nada. Talvez você tenha um download anterior ao de hoje android-studio-ide-192.6241897-mac.dmg, para a versão 3.6 de 12 de fevereiro de 2020. **** Mas sua captura de tela foi encorajadora. Eu desmarquei Hide Obsolete Packagese vi Android SDK Tools (Obsolete) 26.1.1aparecer. Eu instalei isso e agora tudo funciona. **** Clique para obter detalhes sobre o bug no Flutter.
Mark Ebden
Ótimo. Sinta-se livre para aceitar a resposta. Tenha um bom dia.
Darish
por favor, esclareça como obter o caminho do Android? de onde ?
Hos Mercury
Caminho do Android significa o caminho do Android SDK que definimos no gerenciador do SDK. Onde você ficou preso?
Darish
mesmo depois de instalar o pacote obsoleto, ainda está recebendo o mesmo erro. falta mais alguma coisa.
Krunal Parmar
1

O que funcionou para mim:

  1. Execute o flutter doctor --android-licenças -v
  2. Eu recebi uma mensagem como esta:

$ flutter doctor --android-license -v ferramenta Android sdkmanager não encontrada (/ Users / juarse1 / Library / Android / sdk / tools / bin / sdkmanager). Tente reinstalar ou atualizar seu SDK do Android, visite https://flutter.dev/setup/#android-setup para obter instruções detalhadas.

  throwToolExit (package:flutter_tools/src/base/common.dart:28:3)
  AndroidLicenseValidator.runLicenseManager (package:flutter_tools/src/android/android_workflow.dart:311:7)
  Doctor.diagnose (package:flutter_tools/src/doctor.dart:243:38)

Isso ocorre porque o Android SDK não está encontrando ferramentas de comando, mas isso precisa ser forçado a extrair pacotes obsoletos, portanto: 3. Vá para Android Studio -> Preferências -> Configurações do sistema -> Android SDK -> Ferramentas do SDK Seção 4. Desmarque Ocultar pacotes obsoletos na parte inferior 5. Verifique se as duas opções estão marcadas:

Ferramentas da plataforma Android SDK E Ferramentas Android SDK (obsoletas)

  1. OK, feche o Android Studio
  2. Execute o flutter doctor --android-licenças, deve funcionar!
Sebastian Juarez
fonte
Trabalhou ... Obrigado ...
Jay