12
respostas

erro ao executar o comando ionic cordova build android

cordova build android ✖ Running command - failed!

[ERROR] Cordova encountered an error. You may get more insight by running the Cordova command above directly.

[ERROR] An error occurred while running cordova build android (exit code 1):

Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually. Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.

12 respostas

Você parece não ter instalado o Android Studio ou se instalou parece não ter aberto a ide e deixado ela baixar o sdk depois de dar ok há algumas perguntas.

Pior que instalei e fiz tudo isso, quando abro o Android Studio verifico que o Android SDK Platform 26 está instalado

desenvolvimento@desenvolvimento:~$ android


The "android" command is deprecated. For manual SDK, AVD, and project management, please use Android Studio. For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager


Invalid or unsupported command ""

Supported commands are: android list target android list avd android list device android create avd android move avd android delete avd android list sdk android update sdk

desenvolvimento@desenvolvimento:~$ adb Android Debug Bridge version 1.0.39 Revision 3db08f2c6889-android Installed as /home/desenvolvimento/Android/Sdk/platform-tools/adb

Já que esta tudo em ordem, o Android Studio não consegui setar a variável de ambiente ANDROID_HOME.

Seta essa variável ambiente apontado para pasta do SDK. Isso fará com que o Ionic encontre o SDK do Android.

No aguardo meu aluno!

desenvolvimento@desenvolvimento:~$ export ANDROID_HOME="/home/desenvolvimento/Android/Sdk/" desenvolvimento@desenvolvimento:~$ export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools desenvolvimento@desenvolvimento:~$ echo PATH

executei os códigos acima e nada!

desenvolvimento@desenvolvimento:~/Documentos/Alura/Ionic2/aluraCar$ ionic platform The platform command has been renamed. To find out more, run:

ionic cordova platform --help

desenvolvimento@desenvolvimento:~/Documentos/Alura/Ionic2/aluraCar$ ionic cordova platform

cordova platform ls ✔ Running command - done! Installed platforms: android 6.2.3 ios 4.1.1 Available platforms: blackberry10 ~3.8.0 (deprecated) browser ~4.1.0 ubuntu ~4.3.4 (deprecated) webos ~3.7.0 desenvolvimento@desenvolvimento:~/Documentos/Alura/Ionic2/aluraCar$ sudo ionic cordova platform rm android cordova platform remove android --save ✔ Running command - done! Removing platform android from config.xml file... Removing android from cordova.platforms array in package.json desenvolvimento@desenvolvimento:~/Documentos/Alura/Ionic2/aluraCar$ sudo ionic cordova platform add android cordova platform add android --save ✔ Running command - done! Using cordova-fetch for cordova-android@~6.2.2 Adding android project... Creating Cordova project for the Android platform: Path: platforms/android Package: com.ionicframework.aluracar550260 Name: aluraCar Activity: MainActivity Android target: android-25 Subproject Path: CordovaLib Android project created with cordova-android@6.2.3 Installing "cordova-plugin-console" for android Installing "cordova-plugin-device" for android Installing "cordova-plugin-splashscreen" for android Installing "cordova-plugin-statusbar" for android Installing "cordova-plugin-whitelist" for android

This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous platform version, you do not need this plugin since the whitelist will be built in.

Installing "ionic-plugin-keyboard" for android --save flag or autosave detected Saving android@~6.2.3 into config.xml file ... ✔ Copying default image resources into ./resources/android - done! desenvolvimento@desenvolvimento:~/Documentos/Alura/Ionic2/aluraCar$ sudo ionic cordova build android Running app-scripts build: --iscordovaserve --externalIpRequired --nobrowser

[12:32:58] build dev started ... [12:32:58] clean started ... [12:32:58] clean finished in 2 ms [12:32:58] copy started ... [12:32:58] transpile started ... [12:33:00] transpile finished in 1.53 s [12:33:00] preprocess started ... [12:33:00] deeplinks started ... [12:33:00] deeplinks finished in 32 ms [12:33:00] preprocess finished in 33 ms [12:33:00] webpack started ... [12:33:00] copy finished in 2.14 s [12:33:06] webpack finished in 6.14 s [12:33:06] sass started ... [12:33:06] sass finished in 682 ms [12:33:06] postprocess started ... [12:33:06] postprocess finished in 4 ms [12:33:06] lint started ... [12:33:06] build dev finished in 8.42 s

cordova build android ✖ Running command - failed!

[ERROR] Cordova encountered an error. You may get more insight by running the Cordova command above directly.

[ERROR] An error occurred while running cordova build android (exit code 1):

Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually. Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.

desenvolvimento@desenvolvimento:~/Documentos/Alura/Ionic2/aluraCar$ (node:9434) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: channel closed

Seu ambiente para esta "zuado". Ele esta tentando usar cordova 4.0 quando na verdade o curso usa o cordova 6.5.0.

Deduzi isso pela mensagem:

This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous platform version, you do not need this plugin since the whitelist will be built in.

Se você já tinha o Ionic1 instalado com o cordova. Remova tudo e instale novamente as versões que uso no curso. Acredito que seja isso.

Ou o plugin que você esta usando não é um que uso no curso e esse plugin, que desconheço pode estar bugado.

Pode ser também que você não tenha definido a variável de ambiente:

Dá uma conferida em

https://stackoverflow.com/questions/36198165/failed-to-find-android-home-environment-variable

É o mesmo problema e lá tem um passo a passo.

agora o erro é outro:

desenvolvimento@desenvolvimento:~/Documentos/Alura/Ionic2/aluraCar/platforms/android/res/xml$ sudo ionic cordova build android Running app-scripts build: --iscordovaserve --externalIpRequired --nobrowser

[14:05:08] build dev started ... [WARN] Error occurred during command execution from a CLI plugin (@ionic/cli-plugin-cordova). Your plugins may be out of date. Error: tsconfig: Cannot read file '/home/desenvolvimento/Documentos/Alura/Ionic2/aluraCar/platforms/android/res/xml/tsconfig.json': ENOENT: no such file or directory, open '/home/desenvolvimento/Documentos/Alura/Ionic2/aluraCar/platforms/android/res/xml/tsconfig.json'.

Você precisa rodar o comando dentro da pasta do projeto :~/Documentos/Alura/Ionic2/aluraCar

Parece que esta rodando em uma pasta diferente, por isso ele não encontra o arquivo tsconfig.json. A mensagem ajudou bastante a descobrir o problema.