compilação iônica Android | erro: Nenhuma ferramenta de compilação instalada foi encontrada. Instale as ferramentas de compilação do Android

94

Quando executo o comando ionic build android na raiz do projeto iônico, recebo este erro:

FALHA: a compilação falhou com uma exceção.

  • Onde: Linha '/home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle' do script: 64

  • O que deu errado: ocorreu um problema ao avaliar o projeto raiz 'android'.

    Nenhuma ferramenta de compilação instalada foi encontrada. Instale as ferramentas de compilação do Android versão 19.1.0 ou superior.

  • Tente: Execute com a opção --stacktrace para obter o rastreamento da pilha. Execute com a opção --info ou --debug para obter mais saída de log.

javad@javad:~/Desktop/javadApp$ ionic build android
Running command: /home/javad/Desktop/javadApp/hooks/after_prepare/010_add_platform_class.js /home/javad/Desktop/javadApp
add to body class: platform-android
Running command: /home/javad/Desktop/javadApp/platforms/android/cordova/build 
ANDROID_HOME=/opt/android-sdk
JAVA_HOME=/usr/lib/jvm/default-java
Running: /home/javad/Desktop/javadApp/platforms/android/gradlew cdvBuildDebug -b /home/javad/Desktop/javadApp/platforms/android/build.gradle -Dorg.gradle.daemon=true

FAILURE: Build failed with an exception.

* Where:
Script '/home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle' line: 64

* What went wrong:
A problem occurred evaluating root project 'android'.
> No installed build tools found. Please install the Android build tools version 19.1.0 or higher.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1.564 secs

/home/javad/Desktop/javadApp/platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error code 1 for command: /home/javad/Desktop/javadApp/platforms/android/gradlew with args: cdvBuildDebug,-b,/home/javad/Desktop/javadApp/platforms/android/build.gradle,-Dorg.gradle.daemon=true
ERROR building one of the platforms: Error: /home/javad/Desktop/javadApp/platforms/android/cordova/build: Command failed with exit code 8
You may not have the required environment or OS to build this project
Error: /home/javad/Desktop/javadApp/platforms/android/cordova/build: Command failed with exit code 8
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:134:23)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:743:16)
    at Process.ChildProcess._handle.onexit (child_process.js:810:5)

em ~ / .profile eu tenho:

export PATH = $ PATH: / opt / android-sdk / tools

export PATH = $ PATH: / opt / android-sdk / platform-tools

export PATH = $ PATH: / opt / node / bin

export JAVA_HOME = / usr / lib / jvm / default-java

exportar ANDROID_HOME = / opt / android-sdk

$ PATH é:

/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games: / opt / android-sdk / tools : / opt / android-sdk / platform-tools: / opt / node / bin

Assunto importante:

no arquivo: /home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle | linha 38 :

String[] getAvailableBuildTools() {
    def buildToolsDir = new File(getAndroidSdkDir(), "build-tools")
    buildToolsDir.list()
        .findAll { it ==~ /[0-9.]+/ }
        .sort { a, b -> compareVersions(b, a) }
}

acabei de retornar / opt / android-sdk / build-tools !!!

na pasta / opt / android-sdk / build-tools eu tenho:

pasta android-5.1 extraída de: https://dl.google.com/android/repository/build-tools_r22-linux.zip

javad75
fonte
Está funcionando para mim, verifique stackoverflow.com/questions/38660955/…
vinod

Respostas:

51

Eu corrijo isso baixando o pacote sdk chamado platform-tools e buid-tools usando sdkmanager. Você pode usar o sdkmanager.exe ou, se estiver usando o SDK CLI , acesse ~\AppData\Local\Android\sdk\tools\bine execute este comando:

sdkmanager "platform-tools" "platforms;android-26"

ou

sdkmanager "build-tools;27.0.3"

ou ambos

Depois disso, você deve ser capaz de executar ionic cordova run androidouionic build android .

Nota: globalize o sdkmanagercomando adicionando ~\AppData\Local\Android\sdk\toolse ~\AppData\Local\Android\sdk\tools\binà sua variável de ambiente.

Fadhil
fonte
2
Não se esqueça de executar cmd como Administrador para evitar erros. Eu enfrentei o Aviso: Erro "Falha ao ler ou criar o arquivo de propriedades de instalação"
neustart47
Obrigado, esta foi uma etapa essencial para mim no processo de construção.
BarryMode
terminal aberto dentro da pasta bin: diz sdkmanager: comando não encontrado
MJ Montes
@LasLemieux, verifique se você instalou o SDK CLI corretamente. Se você estiver usando o Windows, deve haver um arquivo chamado sdkmanage.exe.
Fadhil
42

Para mim, a execução desses três comandos corrige o problema no meu Mac:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools

Para facilitar a cópia, aqui está uma linha

export ANDROID_HOME=~/Library/Android/sdk && export PATH=${PATH}:${ANDROID_HOME}/tools && export PATH=${PATH}:${ANDROID_HOME}/platform-tools

Para adicionar permanentemente

Siga esses passos:

  1. Abra o arquivo .bash_profile em seu diretório inicial (por exemplo, /Users/your-user-name/.bash_profile) em um editor de texto.
  2. Adicione export PATH="The above exports here"à última linha do arquivo, onde seu-dir é o diretório que você deseja adicionar.
  3. Salve o arquivo .bash_profile.
  4. Reinicie o seu terminal

Adicionando ao processo bash para sistemas diferentes

Mamba negra
fonte
3
Isso me ajuda sempre, mas assim que eu fechar o terminal ou reiniciar o mac, preciso fazer isso de novo
Forza
Isso funcionou para mim. @Forza se você adicioná-lo ao seu ~ / .bash_profile, ele sempre funcionará.
caden311
Por engano, tinha esses subdiretórios PATH anexados à minha variável ANDROID_HOME. Depois de limpar isso, funcionou!
umbyersw
Como você faz para não ter que reexecutar o comando toda vez que reiniciar o terminal?
Ross Rawlins de
Eu tentei isso, mas funcionou, eu tenho que fazer isso toda vez que abro o terminal.
Ross Rawlins
29

Estão faltando ferramentas do Android SDK. Por favor, tente o seguinte:

android list sdk --all
android update sdk -u -a -t <package no.>

Onde <package no.>está 1,2,3,ne

-u (--no-ui)  # Headless mode
-a (--all)    # Includes all packages (also obsolete ones)
-t (--filter) # Filter by package index
Aley
fonte
6
It throwing meFilter 19 not supported
Atul Agrawal
2
Atualização de 2018: use -t android-27para a versão 27 etc.
andersand
21

como o erro diz 'Nenhuma ferramenta de compilação instalada encontrada' , significa que

1: Realmente realmente realmente não encontrou ferramentas de compilação

2: Para fazê-lo encontrar ferramentas de construção, você precisa definir esses caminhos corretamente

O CAMINHO É O MESMO PARA UBUNTU (.bashrc) E MAC (.bash_profile)

export ANDROID_HOME=/Users/vijay/Software/android-sdk-macosx
export PATH=${PATH}:/Users/vijay/Software/android-sdk-macosx/tools
export PATH=${PATH}:/Users/vijay/Software/android-sdk-macosx/platform-tools

3: IMPORTANTE IMPORTANTE Assim que você definir as variáveis ​​ambientais, será necessário recarregar as variáveis ​​ambientais.

//For ubuntu
$source .bashrc 

//For macos
$source .bash_profile

4: Em seguida, verifique o terminal

$printenv ANDROID_HOME
$printenv PATH

Nota: se você não encontrou suas alterações em printenv, reinicie o pc e tente novamente printenv PATH, printenv ANDROID_HOME. Há também um comando para recarregar as variáveis ​​ambientais.

4: em seguida, abra o terminal e escreva MEIO TEXTO '$ e' e pressione tab. Ao clicar na guia, você deverá ver o nome '$ android' completo. Isso verifica se todos os caminhos estão corretos

5: escreva $ android no terminal e pressione Enter

vijay
fonte
18

Instale as ferramentas de compilação do Android versão 19.1.0 ou superior.

Os comandos a seguir podem atualizar o Android SDK no Ubuntu rapidamente e corrigir o erro acima:

android list sdk --all
android update sdk -u -a -t 19
android update sdk -u -a -t 20
Agilox
fonte
6
O filtro 19 e o filtro 20 não são suportados
Skizo-ozᴉʞS
1
mesmo aqui @ Skizo-ozᴉʞS
Bhimashankar Mantur
17

Eu corrijo o erro alterando ANDROID_HOME para C: \ Users \ Gebru \ AppData \ Local \ Android \ Sdk do diretório anterior incorreto.

Gebru Welay
fonte
Isso funcionou para mim. Eu não ANDROID_HOMEconfigurei e Cordova presumiu /usr/lib/android-sdkque estava incorreto
hughjdavey
Eu tenho o mesmo, exceto que parei antes de / Sdk. Parece que há algo errado com essa linha
Baixa de
6

Sei que isso não parece relacionado, especialmente devido à mensagem de erro, mas resolvi isso instalando uma versão mais recente das ferramentas Android SDK Build.

RB_
fonte
6

No meu caso, a variável de ambiente ANDROID_HOME foi apontada para o diretório incorreto (antigo). Eu realoquei para corrigir um. No meu caso

ANDROID_HOME = F: \ Arquivos de programas (x86) \ Android \ android-sdk

robie2011
fonte
1
Obrigado, apontei para o Android Studio, que foi sugerido em outro lugar.
jcubic
5

Para mim, o problema era que ANDROID_HOME estava apontando para um caminho antigo do Android SDK. Depois de instalar o Android Studio, tive que atualizar ~ / .bash_profile de acordo com o MAC (El Capitan)

export ANDROID_HOME = "/ Users / corneliusparkin / Library / Android / sdk"

Lembre-se de reiniciar o terminal ou executar este comando após atualizar ~ / .bash_profile

fonte ~ / .bash_profile

Cornelius Parkin
fonte
5

PARA O WINDOW: Eu enfrentei esse tipo de problema. Mas depois de explorar resolveu no meu caso. Estou usando a janela 10. basta seguir algumas etapas abaixo:

  1. baixe o Android SKD Manager para windows. https://developer.android.com/studio no final desta página. É um arquivo zip. após extraí-lo irá mostrar o diretório de ferramentas.

  2. Vá para a unidade C: \ crie uma nova pasta 'android-sdk'. copie a pasta de ferramentas e cole em
    C: \ android-sdk

  3. Abra o prompt de comando como Administrador. Vá para cd "c: \ android-sdk \ tools \ bin". sdkmanager será mostrado aqui. tipo skdmanager, será mostrado assim [=============================================] 100 % Atualizações de computação ...

  4. depois disso, digite "sdkmanager platform-tools", ele criará o diretório platform-tools em C: \ android-sdk

  5. Agora defina as variáveis ​​de ambiente do sistema: clique com o botão direito em propriedades de seleção do PC as configurações do sistema irão aparecer. clique em> Variáveis ​​de ambiente. As variáveis ​​de ambiente irão aparecer.

  6. Nesta janela, as variáveis ​​do sistema são assim. C: \ android-sdk \ platform-tools e C: \ android-sdk \ tools \ bin

  7. execute o comando para construir ferramentas sdkmanager "build-tools; 27.0.3"

    Certifique-se também de que o caminho java está definido. Eu espero que isso resolva o problema.

MAzeem
fonte
No ponto 3 você tem erro de grafia "skdmanager" Deveria sersdkmanager
Santosh
4

2018

The "android" command is deprecated.

experimentar

sdkmanager "build-tools;27.0.3"

Isso funciona para mim, como #Fadhil disse

Sara Rodriguez Cubillas
fonte
3

Digite android em sua linha de comando e instale "Android SDK Build-tools"

Karan Bhutwala
fonte
2
No meu caso, você estava certo. Esqueci de instalar as ferramentas Android SDK Build do SDK Manager. Obrigado!
tuchi35 01 de
2

Eu procuro este problema por dias .... Espero que seja útil

SOLUÇÃO FINAL: (presumo que você tenha instalado o Oracle-JDK e o ANDROID)

abrir / etc / ambiente com

 sudo nano /etc/environment


PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/shoniisra/Android/Sdk/tools:/home/shoniisra/Android/Sdk/platform-tools:/home/shoniisra/Android/Sdk/build-tools:/home/shoniisra/Android/Sdk:/home/shoniisra/android-studio/bin"
JAVA_HOME="/home/shoniisra/java/jdk1.8.0_231"
ANDROID_HOME="/home/shoniisra/Android/Sdk/build-tools/29.0.2"
ANDROID_SDK_ROOT="/home/shoniisra/Android/Sdk"
ANT_HOME="/home/shoniisra/ant/apache-ant-1.9.14"

Salvar e sair (CTRL + o CTRL + X)

Recarregar arquivo source /etc/environment

Se você instalou recentemente o Android, deve aceitar algumas licenças

cd ~/Android/Sdk/tools/bin/

Execute sdkmanager:

./sdkmanager --licenses

Em seguida, aceite tudo e, por fim, gere seu APK

cd {yourproyect}
sudo ionic cordova build android
israel Villacís
fonte
1

No meu caso, o problema era que ANDROID_HOME estava apontando ~/Library/Android/por algum motivo. O caminho correto é~/Library/Android/sdk

miqrc
fonte
0

Isso funciona para mim! tenha cuidado com as novas versões do java porque elas causam erro, verifique se você tem tudo instalado e em seu diretório específico,

Eu não usei openJDK

export JAVA_HOME="/usr/lib/jvm/java-8-jdk" \
&& export PATH=$JAVA_HOME/bin:$PATH \
&& export ANDROID_HOME=$HOME/Android/Sdk \
&& export PATH=${PATH}:${ANDROID_HOME}/tools \
&& export PATH=${PATH}:${ANDROID_HOME}/platform-tools \
&& export GRADLE_HOME=/usr/share/java/gradle/bin/gradle \
export PATH=$PATH:$GRADLE_HOME/bin

Linux 4.14.39-1-MANJARO # 1 SMP PREEMPT Quarta-feira, 2 de maio 19:03:39 UTC 2018 x86_64 GNU / Linux

veja a captura de tela no meu shell

Adrian Avila
fonte
0

Eu adicionei <preference name="android-minSdkVersion" value="19" /> ao meu conf.xmle a construção foi bem-sucedida.

Narek Tootikian
fonte
0

A solução para esta questão está aqui https://docops.ca.com/devtest-solutions/8-0-2/en/installing/setting-up-the-mobile-testing-environment/preinstallation-steps-for-mobile -testing /

Siga estes passos e resolva o seu problema.

O pacote Android SDK contém um componente chamado ferramentas de compilação. O teste móvel requer pelo menos a versão 19.0.1, 19.1.0 ou 20.0.0.

Se essas versões não forem instaladas com o pacote ADT, você receberá uma mensagem de erro ao criar um ativo móvel na DevTest Workstation:

Plácido Júnior
fonte
0

Mac IOS

Edite o ~ / .bash_profile usando o vi ou outro editor de shell

vi ~/.bash_profile

Adicione as seguintes linhas:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=${PATH}:~/Software/android-sdk-macosx/tools:~/Software/android-sdk-macosx/platform-tools"

(salve o arquivo e saia) carregue essas variáveis ​​env atualizadas para o env shell atual:

. ~/.bash_profile
  • Se por algum motivo você tiver uma versão antiga das ferramentas de construção, poderá atualizá-las no estúdio de desenvolvimento Android:
  • Configure -> SDK Manager -> selecione "Android SDK Build-Tools
  • Verifique a opção "Mostrar detalhes do pacote"
  • reveja as versões deste pacote, atualize se necessário
Eyal c
fonte
0

Bem, muitas pessoas dão suas respostas, algumas respostas são iguais, algumas respostas id diferentes. Eu tento muitas respostas, mas elas não funcionaram para mim, é claro que tento responder acima também, mas não resolveu meu problema. E não sei porquê mas tenho o mesmo erro até o meu problema resolvido com esta RESPOSTA . Eu só quero escrever que pode ser útil para alguém.

user9088454
fonte
0

Resolvi esse problema seguindo as etapas:

  1. Acesse o arquivo cordova.gradle (platform / android / cordovaLib / cordova.gradle)
  2. Pesquise o método getAndroidSdkDir ()
  3. Agora, basta substituir System.getenv ("ANDROID_HOME") pelo caminho real do Android SDK
Rakshita
fonte
0

Abra o Prompt de Comando. Verifique o caminho ANDROID_HOME usando SET ANDROID_HOME, se não estiver definido, defina usando o comando abaixo.

 SET ANDROID_HOME="C:\Users\VenkateshMogili\AppData\Local\Android\Sdk"

OU abra as variáveis ​​de ambiente do sistema e crie uma nova variável como

 Variable Name: ANDROID_HOME
 Variable Value: C:\Users\VenkateshMogili\AppData\Local\Android\Sdk

e abra o arquivo cordova.gradle ( /platforms/android/CordovaLib/cordova.gradle ) e pesquise o método getAndroidSdkDir () e substitua o caminho ANDROID_HOME ( "C: / Users / VenkateshMogili / AppData / Local / Android / Sdk" ) em vez de System.getenv ("ANDROID_HOME")

Se surgir um problema de licença, digite o comando abaixo abrindo o prompt de comando em C: \ Users \ VenkateshMogili \ AppData \ Local \ Android \ Sdk \ tools \ bin

  sdkmanager "build-tools;27.0.3"  //<-that will create build-tools folder and licenses folder.

Funciona para mim.

VenkateshMogili
fonte
A quinta linha do log OP postado já não mostra que ANDROID_HOMEestá definido (para /opt/android-sdk)?
LWChris
Depois de verificar em seu diretório inicial, a maioria pode estar presente em Home / home / nome de usuário / Android / sdk. Tente definir se for encontrado. cole a linha abaixo no final do arquivo .bashrc (no diretório inicial) export ANDROID_HOME = $ HOME / Android / Sdk
VenkateshMogili
0

Aviso para desenvolvedores que usam máquinas virtuais

Passei muito tempo tentando resolver esse problema. Tentei de tudo neste post e muitas outras soluções na web. No entanto, depois de muitas falhas e passando pelo que todos na web diziam, ainda não consegui resolver o problema na minha VM - que é uma imagem do Windows 10 no VMWare Workstation.

Depois de revisar todas as soluções e descrições de máquinas / sistemas operacionais que as pessoas estavam desenvolvendo, descobri que a diferença gritante em minha configuração era que eu estava desenvolvendo em uma VM.

Solução: Puxei todo o meu código para a máquina host (sistema operacional Windows 10), reinstalei todas as dependências e, com certeza, tudo deu certo primeiro. Depois de muita pesquisa, encontrei alguns avisos de que o Android Studio tem alguns problemas conhecidos relacionados à instalação adequada em algumas VMs. Portanto, se você fosse como eu e tentasse todas as soluções (várias vezes) e nada funcionasse, mas você está em uma VM, pode ser necessário considerar a construção em seu host (ou outra máquina física)

lenda do marechal
fonte
0

Este problema resolvi com o seguinte detalhe, de alguma forma o android SDK gerencia instalou todas as dependências e arquivos necessários, mas esqueça esses `templates`arquivos onde se encontra templates> gradle> wrapper. Este conjunto de arquivos está faltando.

Captura de tela

Caminho no mac /Users/giogio/Library/Android/sdk/tools/templates

GiovannI Camana
fonte
-1

Vá para D: Android sdk \ Android SDK e clique em SDK Manager e verifique se Build Tools estão instaladas ou não, se não estiverem instaladas, instale essas ferramentas

Roshani
fonte
-1
This is very irritating error and i wasted my almost 9 hours to solve this.

Steps to solve:

Notice **ANDROID_HOME** while you run **ionic cordova build android** . command i. for example in my case it was pointing to some other android sdk which i uninstalled and then it started pointing to right sdk.
**In my case i uninstalled :**

brew cask uninstall android-sdk
brew cask uninstall android-platform-tool


then i ran **ionic cordova build android**

> cordova build android
ANDROID_HOME=/Users/anand/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home


Then it might say lineces not accepted then run below command :

cd /Users/Android/sdk/tools/bin/
then run ./sdkmanager --licenses
accepts all with y option


Then it might say unable to download jars then go to platform android and build.gradle

and search for buildscript and inside that reverse the order 


repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }

Thats it . Enjoy huh
Anand_5050
fonte