iónica construir Android | error: No se encontraron herramientas de compilación instaladas. Instale las herramientas de compilación de Android

95

Cuando ejecuto el comando android de construcción iónica en la raíz del proyecto iónico, recibo este error:

FALLO: la compilación falló con una excepción.

  • Dónde: Script '/home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle' línea: 64

  • Qué salió mal: Ocurrió un problema al evaluar el proyecto raíz 'android'.

    No se encontraron herramientas de construcción instaladas. Instale las herramientas de compilación de Android versión 19.1.0 o superior.

  • Prueba: Ejecuta con la opción --stacktrace para obtener el seguimiento de la pila. Ejecute con la opción --info o --debug para obtener más resultados de registro.

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)

en ~ / .profile tengo:

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

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

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

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

exportar ANDROID_HOME = / opt / android-sdk

$ PATH es:

/ 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

Asunto importante:

en archivo: /home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle | línea 38 :

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

acaba de devolver / opt / android-sdk / build-tools !!!

en la carpeta / opt / android-sdk / build-tools tengo:

carpeta android-5.1 que se extrae de: https://dl.google.com/android/repository/build-tools_r22-linux.zip

javad75
fuente
Su trabajo para que compruebe stackoverflow.com/questions/38660955/...
Vinod

Respuestas:

54

Soluciono esto descargando el paquete sdk llamado platform-tools y buid-tools usando sdkmanager. Puede usar sdkmanager.exe o si está usando SDK CLI , vaya ~\AppData\Local\Android\sdk\tools\biny ejecute este comando:

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

o

sdkmanager "build-tools;27.0.3"

o ambos

Después de eso, debería poder ejecutar ionic cordova run androido ionic build android.

Nota: globalice el sdkmanagercomando agregando ~\AppData\Local\Android\sdk\toolsy ~\AppData\Local\Android\sdk\tools\bina su variable de entorno.

Fadhil
fuente
2
No olvide ejecutar cmd como administrador para evitar errores. Me enfrenté a la advertencia: "Error al leer o crear el archivo de propiedades de instalación"
neustart47
Gracias, este fue un paso esencial para mí en el proceso de construcción.
BarryMode
terminal abierto dentro de la carpeta bin: dice sdkmanager: comando no encontrado
MJ Montes
@LasLemieux, compruebe si ha instalado la CLI del SDK correctamente. Si está usando Windows, debería tener un archivo llamado sdkmanage.exe.
Fadhil
43

Para mí, ejecutar estos tres comandos soluciona el problema en mi Mac:

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

Para facilitar la copia, aquí hay una sola línea.

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

Para agregar permanentemente

Sigue estos pasos:

  1. Abra el archivo .bash_profile en su directorio de inicio (por ejemplo, /Users/your-user-name/.bash_profile) en un editor de texto.
  2. Agregue export PATH="The above exports here"a la última línea del archivo, donde su-dir es el directorio que desea agregar.
  3. Guarde el archivo .bash_profile.
  4. Reinicia tu terminal

Agregar al proceso de bash para diferentes sistemas

Mamba negro
fuente
3
Esto me ayuda cada vez, pero tan pronto como cierre terminal o reiniciar el Mac, tengo que hacer esto de nuevo
Forza
Esto funcionó para mí. @Forza, si lo agrega a su ~ / .bash_profile, funcionará siempre.
caden311
Por error, tuve esos subdirectorios PATH adjuntos a mi variable ANDROID_HOME. Una vez que limpié esto, ¡funcionó!
umbyersw
¿Cómo se logra que no tenga que volver a ejecutar el comando cada vez que reinicia el terminal?
Ross Rawlins
Intenté eso, pero no me queda bien. Tengo que hacerlo cada vez que abro la terminal.
Ross Rawlins
30

Le faltan las herramientas de Android SDK. Por favor intenta lo siguiente:

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

Donde <package no.>esta 1,2,3,ny

-u (--no-ui)  # Headless mode
-a (--all)    # Includes all packages (also obsolete ones)
-t (--filter) # Filter by package index
Aley
fuente
6
Me arrojaFilter 19 not supported
Atul Agrawal
2
Actualización de 2018: uso -t android-27para la versión 27, etc.
andersand
21

como el error dice 'No se encontraron herramientas de compilación instaladas' , significa que

1: Realmente realmente realmente no encontró herramientas de construcción

2: Para que encuentre herramientas de construcción, debe definir estos caminos correctamente

LA RUTA ES LA MISMA PARA UBUNTU (.bashrc) Y 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 tan pronto como establezca las variables ambientales, debe volver a cargar las variables ambientales.

//For ubuntu
$source .bashrc 

//For macos
$source .bash_profile

4: luego registrarse en la terminal

$printenv ANDROID_HOME
$printenv PATH

Nota: si no encontró sus cambios en printenv, reinicie la PC e intente nuevamente printenv PATH, printenv ANDROID_HOME. También hay un comando para recargar las variables ambientales.

4: luego abra la terminal y escriba HALF TEXT '$ and' y presione tabulador. Al presionar la pestaña, debería ver el nombre completo de '$ android'. Esto verifica que todas las rutas sean correctas

5: escriba $ android en la terminal y presione enter

vijay
fuente
18

Instale las herramientas de compilación de Android versión 19.1.0 o superior.

Los siguientes comandos pueden actualizar Android SDK en Ubuntu rápidamente y corregir el error anterior:

android list sdk --all
android update sdk -u -a -t 19
android update sdk -u -a -t 20
Agilox
fuente
6
El filtro 19 y el filtro 20 no son compatibles
Skizo-ozᴉʞS
1
Lo mismo aquí @ Skizo-ozᴉʞS
Bhimashankar Mantur
17

Soluciono el error cambiando ANDROID_HOME a C: \ Users \ Gebru \ AppData \ Local \ Android \ Sdk desde el directorio anterior incorrecto.

Gebru Welay
fuente
Esto funcionó para mí. No me había ANDROID_HOMEfijado y Cordova asumió /usr/lib/android-sdkque era incorrecto
hughjdavey
Tengo lo mismo, excepto que paré antes de / Sdk. Parece que algo anda mal en esa línea la rompe
Mínimo
6

Sé que esto no parece relacionado, especialmente dado el mensaje de error, pero lo solucioné instalando una versión más reciente de las herramientas de compilación del SDK de Android.

RB_
fuente
6

En mi caso, la variable de entorno ANDROID_HOME apuntaba al directorio incorrecto (antiguo). Lo reasigné para corregir uno. En mi caso

ANDROID_HOME = F: \ Archivos de programa (x86) \ Android \ android-sdk

robie2011
fuente
1
Gracias, lo hice apuntar al estudio de Android que se sugirió en otro lugar.
jcubic
5

Para mí, el problema era que ANDROID_HOME apuntaba a una antigua ruta del SDK de Android. Después de instalar Android Studio, tuve que actualizar ~ / .bash_profile en consecuencia para MAC (El Capitan)

exportar ANDROID_HOME = "/ Usuarios / corneliusparkin / Library / Android / sdk"

Recuerde reiniciar el terminal o ejecutar este comando después de actualizar ~ / .bash_profile

fuente ~ / .bash_profile

Cornelius Parkin
fuente
5

PARA VENTANA: Me he enfrentado a este tipo de problema. Pero después de explorarlo se resolvió en mi caso. Estoy usando la ventana 10. solo sigue algunos pasos a continuación:

  1. descargar Android SKD Manager para Windows. https://developer.android.com/studio al final de esta página. Es un archivo zip. después de extraerlo, se mostrará el directorio de herramientas.

  2. Vaya a la unidad C: \ cree una nueva carpeta 'android-sdk'. copiar la carpeta de herramientas y pegar en
    C: \ android-sdk

  3. Abra el símbolo del sistema como administrador. Vaya al cd "c: \ android-sdk \ tools \ bin". sdkmanager se mostrará aquí. escriba skdmanager, se mostrará así [=====================================] 100 % Actualizaciones informáticas ...

  4. después de ese tipo "sdkmanager platform-tools", se creará un directorio de plataforma-herramientas en C: \ android-sdk

  5. Ahora configure las variables de entorno del sistema: haga clic con el botón derecho en las propiedades de selección de PC. Aparecerá la configuración del sistema. haga clic en> Variables de entorno. Aparecerán variables de entorno.

  6. En esta ventana Variables del sistema como esta. C: \ android-sdk \ platform-tools y C: \ android-sdk \ tools \ bin

  7. ejecutar comando para construir herramientas sdkmanager "build-tools; 27.0.3"

    También asegúrese de que la ruta de Java esté definida. Espero que resuelva el problema.

MAzeem
fuente
En el punto no. 3 tiene un error de ortografía "skdmanager" Debería sersdkmanager
Santosh
4

2018

The "android" command is deprecated.

tratar

sdkmanager "build-tools;27.0.3"

Esto funciona para mí, como dijo #Fadhil

Sara Rodríguez Cubillas
fuente
3

Escriba android en su línea de comando e instale "Android SDK Build-tools"

Karan Bhutwala
fuente
2
En mi caso, tenías razón. Olvidé instalar las herramientas de compilación del SDK de Android desde SDK Manager. ¡Gracias!
tuchi35
2

Busco este problema durante días ... espero que sea de utilidad

SOLUCIÓN FINAL: (supongo que ha instalado Oracle-JDK y ANDROID)

abrir / 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"

Guardar y salir (CTRL + o CTRL + X)

Recargar archivo source /etc/environment

Si instaló Android recientemente, debe aceptar algunas licencias

cd ~/Android/Sdk/tools/bin/

Ejecute sdkmanager:

./sdkmanager --licenses

Luego acepta todo y finalmente genera tu APK

cd {yourproyect}
sudo ionic cordova build android
israel villacís
fuente
1

En mi caso, el problema era que ANDROID_HOME apuntaba ~/Library/Android/por alguna razón. El camino correcto es~/Library/Android/sdk

miqrc
fuente
0

¡Esto funciona para mí! tenga cuidado con las nuevas versiones de java porque causan error, verifique que tenga todo instalado y en su directorio específico,

No usé 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 Mié 2 de mayo 19:03:39 UTC 2018 x86_64 GNU / Linux

ver la captura de pantalla en mi caparazón

Adrián Ávila
fuente
0

Agregué <preference name="android-minSdkVersion" value="19" /> a mi conf.xmly la construcción fue exitosa.

Narek Tootikian
fuente
0

La solución para esta pregunta está aquí https://docops.ca.com/devtest-solutions/8-0-2/en/installing/setting-up-the-mobile-testing-environment/preinstallation-steps-for-mobile -pruebas/

Siga estos pasos y resuelva su problema.

El paquete del SDK de Android contiene un componente llamado herramientas de compilación. La prueba móvil requiere al menos la versión 19.0.1, 19.1.0 o 20.0.0.

Si estas versiones no están instaladas con su paquete ADT, puede recibir un mensaje de error al crear un activo móvil en la estación de trabajo DevTest:

Junior Plácido
fuente
0

Mac IOS

Edite ~ / .bash_profile usando vi u otro editor de shell

vi ~/.bash_profile

Agrega las siguientes líneas:

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

(guarde el archivo y salga) cargue esas variables env actualizadas en el env de shell actual:

. ~/.bash_profile
  • Si por alguna razón tiene una versión antigua de las herramientas de compilación, puede actualizarlas desde el estudio de desarrollo de Android:
  • Configurar -> SDK Manager -> seleccionar "Android SDK Build-Tools
  • Verifique "Mostrar detalles del paquete"
  • revise las versiones de este paquete, actualice si es necesario
Eyal c
fuente
0

Bueno, muchas personas dan su respuesta, algunas respuestas son iguales, algunas ID de respuesta diferentes. Intento muchas respuestas, pero no me funcionaron, por supuesto, también trato de responder desde arriba, pero no resolvió mi problema. Y no sé por qué, pero tengo el mismo error, incluso mi problema resuelto por esta RESPUESTA . Solo quiero escribir que podría ser útil para alguien.

usuario9088454
fuente
0

He resuelto este problema siguiendo los pasos:

  1. Vaya al archivo cordova.gradle (platform / android / cordovaLib / cordova.gradle)
  2. Busque el método getAndroidSdkDir ()
  3. Ahora simplemente reemplace System.getenv ("ANDROID_HOME") con su ruta real del SDK de Android
Rakshita
fuente
0

Abra el símbolo del sistema Verifique la ruta ANDROID_HOME usando SET ANDROID_HOME, si no está configurado, configure usando el siguiente comando.

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

O abra las variables de entorno del sistema y cree una nueva variable como

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

y abra el archivo cordova.gradle ( /platforms/android/CordovaLib/cordova.gradle ) y busque el método getAndroidSdkDir () y reemplace la ruta ANDROID_HOME ( "C: / Users / VenkateshMogili / AppData / Local / Android / Sdk" ) en lugar de System.getenv ("ANDROID_HOME")

Si surge un problema de licencia, escriba el siguiente comando abriendo el símbolo del sistema en C: \ Users \ VenkateshMogili \ AppData \ Local \ Android \ Sdk \ tools \ bin

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

Esto funciona para mi.

VenkateshMogili
fuente
¿La quinta línea del registro OP publicado ya muestra que ANDROID_HOMEestá configurado (en /opt/android-sdk)?
LWChris
Una vez que verifique en su Directorio de inicio, la mayoría de las veces podría estar presente en Inicio / inicio / nombre de usuario / Android / sdk Intente configurarlo si lo encuentra. pegue la siguiente línea al final del archivo .bashrc (en el directorio de inicio) exportar ANDROID_HOME = $ HOME / Android / Sdk
VenkateshMogili
0

Advertencia para desarrolladores que utilizan máquinas virtuales

Pasé mucho tiempo tratando de resolver este problema. Probé todo en esta publicación y muchas más soluciones en la web. Sin embargo, después de muchas fallas y de pasar por lo que todos en la web decían, todavía no podía resolver el problema en mi VM, que es una imagen de Windows 10 en VMWare Workstation.

Después de revisar todas las soluciones y descripciones de máquinas / sistemas operativos que la gente estaba desarrollando, la diferencia evidente en mi configuración era que estaba desarrollando en una máquina virtual.

Solución: Saqué todo mi código en la máquina host (sistema operativo Windows 10), reinstalé todas las dependencias, y seguro que todo funcionó primero. Después de mucha investigación, encontré algunas advertencias de que Android Studio tiene algunos problemas conocidos relacionados con la instalación adecuada en algunas máquinas virtuales. Entonces, si fue como yo y probó todas las soluciones (muchas veces) y nada funcionó, pero está en una máquina virtual, es posible que deba considerar construir en su host (u otra máquina física)

marshall legend
fuente
0

Este problema lo resolví con el siguiente detalle, de alguna manera el SDK de android gestiona instaladas todas las dependencias y archivos necesarios, pero olvido estos `templates`archivos donde se encuentran templates> gradle> wrapper. Falta este conjunto de archivos.

Captura de pantalla

Ruta en mac /Users/giogio/Library/Android/sdk/tools/templates

GiovannI Camana
fuente
0

Este problema también ocurre si actualiza la instalación de Córdoba.

Compruebe si su error de registro tiene algo como:

Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=undefined (recommended setting) <-------------
ANDROID_HOME=/{path}/android-sdk-linux (DEPRECATED)
Using Android SDK: /usr/lib/android-sdk
Starting a Gradle Daemon (subsequent builds will be faster)

En tal caso, simplemente cambie ANDROID_HOMEa ANDROID_SDK_ROOTen su ~/.bashrc archivo de configuración o similar.

Donde antes estaba:

export ANDROID_HOME="/{path}/android-sdk-linux"

Ahora es:

export ANDROID_SDK_ROOT="/{path}/android-sdk-linux"

No olvide la fuente: $ . ~/.bashrcdespués de la edición.

Igor Parra
fuente
-1

Vaya a D: Android sdk \ Android SDK y haga clic en SDK Manager y verifique si las herramientas de compilación están instaladas o no, si no están instaladas, luego instale esas herramientas

Roshani
fuente
-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
fuente