construction ionique Android | erreur: aucun outil de construction installé n'a été trouvé. Veuillez installer les outils de compilation Android

94

Lorsque j'exécute la commande ionic build android à la racine du projet ionique, j'obtiens cette erreur:

ÉCHEC: la construction a échoué avec une exception.

  • Où: Script '/home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle' ligne: 64

  • Problème: un problème est survenu lors de l'évaluation du projet racine «android».

    Aucun outil de construction installé trouvé. Veuillez installer la version 19.1.0 ou supérieure des outils de compilation Android.

  • Essayez: Exécutez avec l'option --stacktrace pour obtenir la trace de la pile. Exécutez avec l'option --info ou --debug pour obtenir plus de sortie de journal.

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)

dans ~ / .profile j'ai:

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

export ANDROID_HOME = / opt / android-sdk

$ PATH est:

/ 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

Problème important:

dans le fichier: /home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle | ligne 38 :

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

je viens de retourner / opt / android-sdk / build-tools !!!

dans le dossier / opt / android-sdk / build-tools j'ai:

dossier android-5.1 extrait de: https://dl.google.com/android/repository/build-tools_r22-linux.zip

javad75
la source
Cela fonctionne

Réponses:

51

Je corrige cela en téléchargeant le package sdk appelé platform-tools et buid-tools en utilisant sdkmanager. Vous pouvez utiliser sdkmanager.exe ou si vous utilisez SDK CLI , accédez à ~\AppData\Local\Android\sdk\tools\binet exécutez cette commande:

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

ou

sdkmanager "build-tools;27.0.3"

ou les deux

Après cela, vous devriez pouvoir exécuter ionic cordova run androidouionic build android .

Remarque: sdkmanagercommande globalize en ajoutant ~\AppData\Local\Android\sdk\toolset ~\AppData\Local\Android\sdk\tools\binà votre variable d'environnement.

Fadhil
la source
2
N'oubliez pas d'exécuter cmd en tant qu'administrateur pour éviter les erreurs. J'ai fait face à un avertissement: erreur "Impossible de lire ou de créer le fichier de propriétés d'installation"
neustart47
Merci, c'était une étape essentielle pour moi dans le processus de construction.
BarryMode
terminal ouvert dans le dossier bin: dit sdkmanager: commande introuvable
MJ Montes
@LasLemieux veuillez vérifier si vous installez correctement le SDK CLI. Si vous utilisez Windows, il devrait y avoir un fichier nommé sdkmanage.exe.
Fadhil
42

Pour moi, exécuter ces trois commandes résout le problème sur mon Mac:

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

Pour faciliter la copie, voici une seule ligne

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

Pour ajouter de façon permanente

Suivez ces étapes:

  1. Ouvrez le fichier .bash_profile dans votre répertoire personnel (par exemple, /Users/your-user-name/.bash_profile) dans un éditeur de texte.
  2. Ajouter export PATH="The above exports here" à la dernière ligne du fichier, où votre-rép est le répertoire que vous souhaitez ajouter.
  3. Enregistrez le fichier .bash_profile.
  4. Redémarrez votre terminal

Ajout au processus bash pour différents systèmes

Black Mamba
la source
3
Cela m'aide à chaque fois, mais dès que je ferme le terminal ou que je redémarre le mac, je dois le faire à nouveau
Forza
Cela a fonctionné pour moi. @Forza si vous l'ajoutez à votre ~ / .bash_profile, cela fonctionnera à chaque fois.
caden311
J'ai par erreur ajouté ces sous-répertoires PATH à ma variable ANDROID_HOME. Une fois que j'ai nettoyé cela, cela a fonctionné!
umbyersw
Comment faire en sorte que vous n'ayez pas à réexécuter la commande à chaque redémarrage du terminal?
Ross Rawlins
J'ai essayé cela, mais je dois le faire à chaque fois que j'ouvre le terminal.
Ross Rawlins
29

Il vous manque des outils du SDK Android. S'il vous plaît essayez ce qui suit:

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

<package no.>est 1,2,3,net

-u (--no-ui)  # Headless mode
-a (--all)    # Includes all packages (also obsolete ones)
-t (--filter) # Filter by package index
Aley
la source
6
It throwing meFilter 19 not supported
Atul Agrawal
2
2018 mise à jour: Utilisation -t android-27pour la version 27 , etc.
andersand
21

comme l'erreur indique `` Aucun outil de construction installé trouvé '', cela signifie que

1: Il n'a vraiment vraiment pas trouvé d'outils de construction

2: Pour lui faire trouver des outils de construction, vous devez définir ces chemins correctement

LE CHEMIN EST MÊME POUR UBUNTU (.bashrc) ET 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: IMPORTANT IMPORTANT dès que vous définissez des variables d'environnement, vous devez recharger les variables d'environnement.

//For ubuntu
$source .bashrc 

//For macos
$source .bash_profile

4: puis enregistrez-vous dans le terminal

$printenv ANDROID_HOME
$printenv PATH

Remarque: si vous n'avez pas trouvé vos modifications dans printenv, redémarrez le PC et réessayez printenv PATH, printenv ANDROID_HOME. Il existe également une commande pour recharger les variables d'environnement.

4: puis ouvrez le terminal et écrivez HALF TEXT '$ et' et appuyez sur tab. En cliquant sur l'onglet, vous devriez voir le nom complet '$ android', cela vérifie que tous les chemins sont corrects

5: écrivez $ android dans le terminal et appuyez sur Entrée

vijay
la source
18

Veuillez installer la version 19.1.0 ou supérieure des outils de compilation Android.

Les commandes suivantes peuvent mettre à jour rapidement le SDK Android sur Ubuntu et corriger l'erreur ci-dessus:

android list sdk --all
android update sdk -u -a -t 19
android update sdk -u -a -t 20
Agilox
la source
6
Les filtres 19 et 20 ne sont pas pris en charge
Skizo-ozᴉʞS
1
même ici @ Skizo-ozᴉʞS
Bhimashankar Mantur
17

Je corrige l'erreur en changeant ANDROID_HOME en C: \ Users \ Gebru \ AppData \ Local \ Android \ Sdk du mauvais répertoire précédent.

Gebru Welay
la source
Cela a fonctionné pour moi. Je n'ai pas ANDROID_HOMEréglé et Cordova a supposé que c'était à /usr/lib/android-sdkce qui était incorrect
hughjdavey
J'ai le même, sauf que je me suis arrêté avant / Sdk. Il semble que quelque chose ne va pas avec cette ligne qui la brise
Faible
6

Je sais que cela ne semble pas lié, en particulier compte tenu du message d'erreur, mais j'ai résolu ce problème en installant une version plus récente des outils Android SDK Build.

RB_
la source
6

Dans mon cas, la variable d'environnement ANDROID_HOME a été pointée vers le mauvais (ancien) répertoire. J'ai réaffecté pour en corriger un. Dans mon cas

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

robie2011
la source
1
Merci, je l'ai fait pointer vers le studio Android qui a été suggéré ailleurs.
jcubic
5

Pour moi, le problème était que ANDROID_HOME pointait vers un ancien chemin du SDK Android. Après avoir installé Android Studio, j'ai dû mettre à jour ~ / .bash_profile en conséquence pour MAC (El Capitan)

export ANDROID_HOME = "/ Utilisateurs / corneliusparkin / Bibliothèque / Android / sdk"

N'oubliez pas de redémarrer le terminal ou d'exécuter cette commande après la mise à jour de ~ / .bash_profile

source ~ / .bash_profile

Cornelius Parkin
la source
5

POUR WINDOW: J'ai été confronté à ce type de problème. Mais après avoir exploré, il a résolu dans mon cas. J'utilise la fenêtre 10. Suivez simplement les quelques étapes ci-dessous:

  1. téléchargez Android SKD Manager pour Windows. https://developer.android.com/studio à la fin de cette page. C'est un fichier zip. après l'extraction, il affichera le répertoire des outils.

  2. Accédez au lecteur C: \ créez un nouveau dossier 'android-sdk'. copier le dossier des outils et le coller dans
    C: \ android-sdk

  3. ouvrez l'invite de commande en tant qu'administrateur. Accédez au cd "c: \ android-sdk \ tools \ bin". sdkmanager sera affiché ici. tapez skdmanager, il s'affichera comme ceci [=======================================] 100 % Calcul des mises à jour ...

  4. après ce type "sdkmanager platform-tools", il créera le répertoire platform-tools dans C: \ android-sdk

  5. Maintenant, définissez les variables d'environnement système: faites un clic droit sur PC sélectionnez les propriétés. les paramètres du système s'afficheront. cliquez sur> Variables d'environnement. Les variables d'environnement apparaîtront.

  6. Dans cette fenêtre, les variables système comme celle-ci. C: \ android-sdk \ platform-tools et C: \ android-sdk \ tools \ bin

  7. exécuter la commande pour créer des outils sdkmanager "build-tools; 27.0.3"

    Assurez-vous également que le chemin java est défini. J'espère que cela résoudra le problème.

MAzeem
la source
Au point no. 3 vous avez une faute d'orthographe "skdmanager" Ça devrait êtresdkmanager
Santosh
4

2018

The "android" command is deprecated.

essayer

sdkmanager "build-tools;27.0.3"

Ce travail pour moi, comme l'a dit #Fadhil

Sara Rodriguez Cubillas
la source
3

Tapez android sur votre ligne de commande et installez "Android SDK Build-tools"

Karan Bhutwala
la source
2
Dans mon cas, vous aviez raison. J'ai oublié d'installer les outils Android SDK Build à partir du SDK Manager. Merci!
tuchi35
2

Je recherche ce problème pendant des jours .... j'espère qu'il sera utile

SOLUTION FINALE: (je suppose que vous avez installé Oracle-JDK et ANDROID)

ouvrez / etc / environment avec

 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"

Enregistrer et quitter (CTRL + o CTRL + X)

Recharger le fichier source /etc/environment

Si vous avez récemment installé Android, vous devez accepter certaines licences

cd ~/Android/Sdk/tools/bin/

Exécutez sdkmanager:

./sdkmanager --licenses

Puis tout accepter, et enfin générer votre APK

cd {yourproyect}
sudo ionic cordova build android
Israël Villacís
la source
1

Dans mon cas, le problème était que ANDROID_HOME indiquait ~/Library/Android/pour une raison quelconque. Le chemin correct est~/Library/Android/sdk

miqrc
la source
0

Cela fonctionne pour moi! soyez prudent avec les nouvelles versions de java car elles provoquent des erreurs, vérifiez que tout est installé et dans votre répertoire spécifique,

Je n'ai pas utilisé 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 Mer 2 mai 19:03:39 UTC 2018 x86_64 GNU / Linux

voir la capture d'écran dans ma coquille

Adrian Avila
la source
0

J'ai ajouté <preference name="android-minSdkVersion" value="19" /> à mon conf.xmlet la construction a réussi.

Narek Tootikian
la source
0

La solution à cette question est ici https://docops.ca.com/devtest-solutions/8-0-2/en/installing/setting-up-the-mobile-testing-environment/preinstallation-steps-for-mobile -essai/

Veuillez suivre ces étapes et résoudre votre problème.

Le package Android SDK contient un composant appelé outils de compilation. Le test mobile nécessite au moins la version 19.0.1, 19.1.0 ou 20.0.0.

Si ces versions ne sont pas installées avec votre package ADT, vous pouvez recevoir un message d'erreur lors de la création d'un actif mobile dans DevTest Workstation:

Junior Placido
la source
0

Mac IOS

Modifiez ~ / .bash_profile à l'aide de vi ou d'un autre éditeur de shell

vi ~/.bash_profile

Ajoutez les lignes suivantes:

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

(enregistrez le fichier et quittez) chargez ces variables d'environnement mises à jour dans l'environnement d'environnement actuel:

. ~/.bash_profile
  • Si, pour une raison quelconque, vous avez une ancienne version des outils de construction, vous pouvez les mettre à jour à partir du studio de développement Android:
  • Configurer -> SDK Manager -> sélectionnez "Android SDK Build-Tools
  • Vérifiez la "Afficher les détails du package"
  • revoir les versions de ce package, mettre à jour si nécessaire
Eyal c
la source
0

Eh bien, beaucoup de gens donnent leur réponse, certaines réponses sont identiques, certaines réponses sont différentes. J'essaie de nombreuses réponses mais elles n'ont pas fonctionné pour moi, bien sûr, j'essaie de répondre ci-dessus, mais je n'ai pas résolu mon problème. Et je ne sais pas pourquoi mais j'ai la même erreur même mon problème résolu par cette RÉPONSE . Je veux juste écrire que cela pourrait être utile pour quelqu'un.

user9088454
la source
0

J'ai résolu ce problème en suivant les étapes:

  1. Accédez au fichier cordova.gradle (plateforme / android / cordovaLib / cordova.gradle)
  2. Rechercher la méthode getAndroidSdkDir ()
  3. Maintenant, remplacez simplement System.getenv ("ANDROID_HOME") par votre véritable chemin d'accès au SDK Android
Rakshita
la source
0

Ouvrez l'invite de commande Vérifiez le chemin ANDROID_HOME à l'aide de SET ANDROID_HOME, s'il n'est pas défini, définissez-le à l'aide de la commande ci-dessous.

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

OU ouvrez les variables d'environnement système et créez une nouvelle variable comme

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

et ouvrez le fichier cordova.gradle ( /platforms/android/CordovaLib/cordova.gradle ) et recherchez la méthode getAndroidSdkDir () et remplacez le chemin ANDROID_HOME ( "C: / Users / VenkateshMogili / AppData / Local / Android / Sdk" ) au lieu de System.getenv ("ANDROID_HOME")

Si un problème de licence survient, tapez la commande ci-dessous en ouvrant l'invite de commande dans C: \ Users \ VenkateshMogili \ AppData \ Local \ Android \ Sdk \ tools \ bin

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

Ça marche pour moi.

VenkateshMogili
la source
La cinquième ligne du journal OP publiée ne montre-t-elle pas déjà qu'elle ANDROID_HOMEest définie (à /opt/android-sdk)?
LWChris
Une fois enregistré dans votre répertoire de base, il peut généralement être présent dans Home / home / username / Android / sdk. Essayez de le définir s'il le trouve. collez la ligne ci-dessous à la fin du fichier .bashrc (dans le répertoire personnel) export ANDROID_HOME = $ HOME / Android / Sdk
VenkateshMogili
0

Avertissement pour les développeurs utilisant des machines virtuelles

J'ai passé très longtemps à essayer de résoudre ce problème. J'ai tout essayé dans cet article et bien d'autres solutions sur le Web. Cependant, après de nombreux échecs et après ce que tout le monde disait sur le Web, je ne pouvais toujours pas résoudre le problème sur ma machine virtuelle - qui est une image Windows 10 sur VMWare Workstation.

Après avoir examiné toutes les solutions et descriptions des machines / systèmes d'exploitation que les gens développaient, la différence flagrante dans ma configuration était que je développais dans une VM.

Solution: j'ai récupéré tout mon code sur la machine hôte (système d'exploitation Windows 10), réinstallé toutes les dépendances et, bien sûr, tout a fonctionné en premier. Après de nombreuses recherches, j'ai trouvé des avertissements indiquant qu'Android Studio avait des problèmes connus liés à l'installation correcte dans certaines machines virtuelles. Donc, si vous étiez comme moi et que vous avez essayé toutes les solutions (plusieurs fois) et que rien n'a fonctionné, mais que vous êtes dans une VM, vous devrez peut-être envisager de construire sur votre hôte (ou une autre machine physique)

légende de marshall
la source
0

Ce problème, j'ai résolu avec le détail suivant, en quelque sorte le SDK Android gère installé toutes les dépendances et les fichiers nécessaires, mais oubliez ces `templates`fichiers où se trouvent des modèles> gradle> wrapper. Cet ensemble de fichiers est manquant.

Capture d'écran

Chemin dans mac /Users/giogio/Library/Android/sdk/tools/templates

GiovannI Camana
la source
-1

Allez dans D: Android sdk \ Android SDK et cliquez sur SDK Manager et vérifiez si Build Tools est installé ou non s'ils ne sont pas installés, puis installez ces outils

Roshani
la source
-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
la source