build ionica Android | errore: nessuno strumento di compilazione installato trovato. Installa gli strumenti di build Android


94

Quando eseguo il comando ionic build android nella root del progetto ionic, ricevo questo errore:

FAILURE: compilazione non riuscita con un'eccezione.

  • Dove: Script "/home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle" riga: 64

  • Che cosa è andato storto: si è verificato un problema durante la valutazione del progetto root "android".

    Nessuno strumento di compilazione installato trovato. Installa gli strumenti di build Android versione 19.1.0 o successiva.

  • Prova: esegui con l'opzione --stacktrace per ottenere la traccia dello stack. Esegui con l'opzione --info o --debug per ottenere più output di 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)

in ~ / .profile ho:

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

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

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

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

esporta 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

Problema importante:

nel file: /home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle | linea 38 :

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

appena restituito / opt / android-sdk / build-tools !!!

in / opt / android-sdk / build-tools cartella ho:

cartella android-5.1 che si estrae da: https://dl.google.com/android/repository/build-tools_r22-linux.zip


Funziona per me, controlla stackoverflow.com/questions/38660955/…
vinod

Risposte:


51

Risolvo questo problema scaricando il pacchetto sdk chiamato platform-tools e buid-tools usando sdkmanager. Puoi usare sdkmanager.exe o, se stai usando SDK CLI , vai a ~\AppData\Local\Android\sdk\tools\bined esegui questo comando:

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

o

sdkmanager "build-tools;27.0.3"

o entrambi

Dopodiché dovresti essere in grado di eseguire ionic cordova run androido ionic build android.

Nota: globalizza il sdkmanagercomando aggiungendo ~\AppData\Local\Android\sdk\toolse ~\AppData\Local\Android\sdk\tools\binalla tua variabile d'ambiente.


2
Non dimenticare di eseguire cmd come amministratore per evitare errori. Ho riscontrato l'avviso: errore "Impossibile leggere o creare il file delle proprietà di installazione"
neustart47

Grazie, questo è stato un passaggio essenziale per me nel processo di costruzione.
BarryMode

terminale aperto all'interno della cartella bin: dice sdkmanager: comando non trovato
MJ Montes

@LasLemieux controlla di aver installato correttamente l'SDK CLI. Se stai usando Windows, dovrebbe esserci un file chiamato sdkmanage.exe.
Fadhil

42

Per me l'esecuzione di questi tre comandi risolve il problema sul mio Mac:

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

Per facilità di copia, ecco una riga

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

Per aggiungere in modo permanente

Segui questi passi:

  1. Apri il file .bash_profile nella tua directory home (ad esempio, /Users/your-user-name/.bash_profile) in un editor di testo.
  2. Inserisci export PATH="The above exports here" all'ultima riga del file, dove your-dir è la directory che desideri aggiungere.
  3. Salva il file .bash_profile.
  4. Riavvia il tuo terminale

Aggiunta al processo bash per diversi sistemi


3
Questo mi aiuta ogni volta, ma non appena chiudo il terminale o riavvio il Mac, devo farlo di nuovo
Forza

Questo ha funzionato per me. @Forza se lo aggiungi al tuo ~ / .bash_profile funzionerà ogni volta.
caden311

Ho erroneamente aggiunto quelle sottodirectory PATH alla mia variabile ANDROID_HOME. Una volta ripulito, ha funzionato!
umbyersw

Come si fa a non dover rieseguire il comando ogni volta che si riavvia il terminale?
Ross Rawlins

Ci ho provato, ma devo farlo ogni volta che apro il terminale.
Ross Rawlins

29

Ti mancano gli strumenti SDK di Android. Si prega di provare quanto segue:

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

Dove <package no.>si trova 1,2,3,ne

-u (--no-ui)  # Headless mode
-a (--all)    # Includes all packages (also obsolete ones)
-t (--filter) # Filter by package index

6
Mi sta lanciandoFilter 19 not supported
Atul Agrawal il

2
Aggiornamento 2018: utilizzare -t android-27per la versione 27 ecc.
andersand

21

poiché l'errore dice "Nessuno strumento di compilazione installato trovato" significa che

1: Davvero davvero davvero non ha trovato strumenti di compilazione

2: Per fargli trovare strumenti di costruzione è necessario definire correttamente questi percorsi

IL PERCORSO È STESSO PER 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 non appena si impostano le variabili ambientali è necessario ricaricare le variabili ambientali.

//For ubuntu
$source .bashrc 

//For macos
$source .bash_profile

4: Quindi controlla il terminale

$printenv ANDROID_HOME
$printenv PATH

Nota: se non hai trovato le modifiche in printenv riavvia il pc e riprova printenv PATH, printenv ANDROID_HOME. C'è anche il comando per ricaricare le variabili d'ambiente.

4: quindi apri il terminale e scrivi MEZZO TESTO '$ e' e premi tab. Premendo la scheda dovresti vedere il nome "$ android" completo. Questo verifica che tutti i percorsi siano corretti

5: scrivi $ android nel terminale e premi invio


18

Installa gli strumenti di build Android versione 19.1.0 o successiva.

I seguenti comandi possono aggiornare rapidamente Android SDK su Ubuntu e correggere l'errore precedente:

android list sdk --all
android update sdk -u -a -t 19
android update sdk -u -a -t 20

6
Il filtro 19 e il filtro 20 non sono supportati
Skizo-ozᴉʞS

1
lo stesso qui @ Skizo-ozᴉʞS
Bhimashankar Mantur

17

Risolvo l'errore cambiando ANDROID_HOME in C: \ Users \ Gebru \ AppData \ Local \ Android \ Sdk dalla directory precedente errata.


Questo ha funzionato per me. Non avevo ANDROID_HOMEimpostato e Cordova /usr/lib/android-sdk
pensava

Ho lo stesso, tranne per il fatto che mi sono fermato prima di / Sdk. Sembra che qualcosa di sbagliato in quella linea lo interrompa
Basso

6

So che questo non sembra correlato, soprattutto dato il messaggio di errore, ma l'ho risolto installando una versione più recente degli strumenti di build di Android SDK.


6

Nel mio caso, la variabile ambientale ANDROID_HOME è stata indirizzata alla (vecchia) directory sbagliata. Mi sono riallocato per correggerne uno. Nel mio caso

ANDROID_HOME = F: \ Programmi (x86) \ Android \ android-sdk


1
Grazie, avevo puntato a Android Studio che è stato suggerito altrove.
jcubic

5

Per me, il problema era che ANDROID_HOME puntava a un vecchio percorso di Android SDK. Dopo aver installato Android Studio, ho dovuto aggiornare ~ / .bash_profile di conseguenza per MAC (El Capitan)

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

Ricordarsi di riavviare il terminale o eseguire questo comando dopo aver aggiornato ~ / .bash_profile

fonte ~ / .bash_profile


5

PER WINDOW: ho affrontato questo tipo di problema. Ma dopo aver esplorato, nel mio caso si è risolto. Sto usando la finestra 10. basta seguire alcuni passaggi di seguito:

  1. scarica Android SKD Manager per Windows. https://developer.android.com/studio alla fine di questa pagina. È un file zip. dopo averlo estratto mostrerà la directory degli strumenti.

  2. Vai all'unità C: \ crea una nuova cartella "android-sdk". copia la cartella degli strumenti e incolla in
    C: \ android-sdk

  3. aprire il prompt dei comandi come amministratore. Vai a cd "c: \ android-sdk \ tools \ bin". sdkmanager verrà mostrato qui. digita skdmanager, verrà visualizzato in questo modo [=======================================] 100 % Aggiornamenti informatici ...

  4. dopo quel tipo "sdkmanager platform-tools" creerà la directory platform-tools in C: \ android-sdk

  5. Ora imposta le variabili di ambiente di sistema: fai clic con il pulsante destro del mouse su PC seleziona proprietà. appariranno le impostazioni di sistema. fare clic su> Variabili d'ambiente. Le variabili d'ambiente appariranno.

  6. In questa finestra Variabili di sistema come questa. C: \ android-sdk \ platform-tools e C: \ android-sdk \ tools \ bin

  7. eseguire il comando per creare strumenti sdkmanager "build-tools; 27.0.3"

    Assicurati anche che il percorso java sia definito. Spero che risolva il problema.


Al punto n. 3 hai un errore di ortografia "skdmanager" Dovrebbe esseresdkmanager
Santosh

4

2018

The "android" command is deprecated.

provare

sdkmanager "build-tools;27.0.3"

Questo lavoro per me, come ha detto #Fadhil


3

Digita android sulla riga di comando e installa "Android SDK Build-tools"


2
Nel mio caso, avevi ragione. Ho dimenticato di installare gli strumenti di build di Android SDK da SDK Manager. Grazie!
tuchi35

2

Cerco questo problema per giorni .... spero che possa essere utile

SOLUZIONE FINALE: (presumo che tu abbia installato Oracle-JDK e ANDROID)

apri / etc / environment con

 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"

Salva ed esci (CTRL + o CTRL + X)

Ricarica il file source /etc/environment

Se hai installato Android di recente dovresti accettare alcune licenze

cd ~/Android/Sdk/tools/bin/

Esegui sdkmanager:

./sdkmanager --licenses

Quindi accetta tutto e infine genera il tuo APK

cd {yourproyect}
sudo ionic cordova build android

1

Nel mio caso il problema era che ANDROID_HOME stava puntando ~/Library/Android/per qualche motivo. Il percorso corretto è~/Library/Android/sdk


0

Questo funziona per me! fai attenzione alle nuove versioni di java perché causano errori, controlla di avere tutto installato e nella tua directory specifica,

Non ho usato 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 Mercoledì 2 maggio 19:03:39 UTC 2018 x86_64 GNU / Linux

guarda lo screenshot nella mia shell


0

Ho aggiunto <preference name="android-minSdkVersion" value="19" /> al mio conf.xmle la build ha avuto successo.


0

La soluzione a questa domanda è qui https://docops.ca.com/devtest-solutions/8-0-2/en/installing/setting-up-the-mobile-testing-environment/preinstallation-steps-for-mobile -test /

Segui questa procedura e risolvi il problema.

Il pacchetto Android SDK contiene un componente chiamato strumenti di compilazione. Il test mobile richiede almeno la versione 19.0.1, 19.1.0 o 20.0.0.

Se queste versioni non sono installate con il pacchetto ADT, potresti ricevere un messaggio di errore durante la creazione di un asset mobile nella DevTest Workstation:


0

Mac IOS

Modifica ~ / .bash_profile usando vi o un altro editor di shell

vi ~/.bash_profile

Aggiungi le seguenti righe:

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

(salva il file ed esci) carica le variabili env aggiornate nella shell corrente env:

. ~/.bash_profile
  • Se per qualche motivo hai una vecchia versione degli strumenti di build, puoi aggiornarli dallo studio di sviluppo Android:
  • Configura -> SDK Manager -> seleziona "Strumenti di build SDK Android
  • Controlla "Mostra dettagli pacchetto"
  • rivedere le versioni di questo pacchetto, aggiornare se necessario

0

Bene, molte persone danno la loro risposta, alcune risposte sono le stesse, altre sono diverse. Provo molte risposte ma non hanno funzionato per me, ovviamente provo anche dalla risposta sopra ma non ha risolto il mio problema. E non so perché ma ho lo stesso errore anche il mio problema risolto da questa RISPOSTA . Voglio solo scrivere che potrebbe essere utile per qualcuno.



0

Ho risolto questo problema seguendo i passaggi:

  1. Vai al file cordova.gradle (platform / android / cordovaLib / cordova.gradle)
  2. Cerca il metodo getAndroidSdkDir ()
  3. Ora sostituisci semplicemente System.getenv ("ANDROID_HOME") con il tuo vero percorso SDK Android

0

Apri prompt dei comandi Controlla il percorso ANDROID_HOME utilizzando SET ANDROID_HOME, se non impostato, imposta utilizzando il comando seguente.

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

OPPURE apri le variabili di ambiente di sistema e crea una nuova variabile come

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

e apri il file cordova.gradle ( /platforms/android/CordovaLib/cordova.gradle ) e cerca il metodo getAndroidSdkDir () e sostituisci il percorso ANDROID_HOME ( "C: / Users / VenkateshMogili / AppData / Local / Android / Sdk" ) invece di System.getenv ("ANDROID_HOME")

Se si verifica un problema di licenza, digitare il comando seguente aprendo il prompt dei comandi in C: \ Users \ VenkateshMogili \ AppData \ Local \ Android \ Sdk \ tools \ bin

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

Per me funziona.


La quinta riga del log OP postato non mostra già che ANDROID_HOMEè impostato (su /opt/android-sdk)?
LWChris

Una volta controllato nella directory Home, per lo più potrebbe essere presente in Home / home / username / Android / sdk Prova a impostarlo se lo trova. incolla la riga sottostante alla fine del file .bashrc (nella directory home) esporta ANDROID_HOME = $ HOME / Android / Sdk
VenkateshMogili

0

Avviso per gli sviluppatori che utilizzano macchine virtuali

Ho passato molto tempo a cercare di risolvere questo problema. Ho provato tutto in questo post e molte altre soluzioni sul web. Tuttavia, dopo molti errori e dopo aver esaminato ciò che tutti sul Web dicevano, non riuscivo ancora a risolvere il problema sulla mia VM, che è un'immagine di Windows 10 su VMWare Workstation.

Dopo aver esaminato tutte le soluzioni e le descrizioni di macchine / sistemi operativi, le persone stavano sviluppando sulla differenza evidente nella mia configurazione che stavo sviluppando in una VM.

Soluzione: ho trasferito tutto il mio codice sulla macchina host (sistema operativo Windows 10), ho reinstallato tutte le dipendenze e sono sicuro che tutto ha funzionato prima di tutto. Dopo molte ricerche ho trovato alcuni avvertimenti che Android Studio presenta alcuni problemi noti relativi all'installazione corretta in alcune VM. Quindi, se tu fossi come me e hai provato tutte le soluzioni (molte volte) e niente ha funzionato, ma sei in una VM, potresti dover considerare di costruire sul tuo host (o su un'altra macchina fisica)


0

Questo problema l'ho risolto con il seguente dettaglio, in qualche modo l'SDK di Android gestisce installate tutte le dipendenze ei file necessari, ma dimentica questi `templates`file dove si trova template> gradle> wrapper. Questo set di file è mancante.

Immagine dello schermo

Percorso in mac /Users/giogio/Library/Android/sdk/tools/templates


-1

Vai a D: Android sdk \ Android SDK e fai clic su SDK Manager e controlla se gli strumenti di compilazione sono installati o meno se non sono installati, quindi installa quegli strumenti


-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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.