run reconoce interno instalar externo como comando android windows cordova

reconoce - plataforma cordova agregar Android no funciona al listar los objetivos de Android



instalar cordova npm (12)

Tengo un problema cuando quiero agregar una plataforma Android a mi aplicación phoneGap. Recibí este mensaje en mi CLI cuando ejecuto el comando cordova platform add android:

Checking Android requirements... (Error: An error occurred while listing Android targets)

Ya trato de agregar mi ubicación de SDK de Android en la variable de ruta.

Por favor, ayúdame ! :RE

Trabajo en Windows 7 64 bits, instalo la API de Android 17, 18 y 19 con el SDK de Android. Estoy en la versión 3.2 phoneGap.


Para aquellos elegidos, ¿quién prefirió el entorno de desarrollo de Linux

Requisitos

Antes que nada, necesitarás algunas cosas para comenzar. Ellos son: Android SDK y Apache Ant . Por supuesto, necesitará Java SDK (JDK) instalado.

Para que Android SDK funcione para todos los usuarios, deberá modificar el /etc/environment y luego reiniciar su PC. Pero si no quieres hacerlo de la manera más difícil, sígueme, piensa en ti como el único usuario de PC. Y use el archivo /home/YOUR_USERNAME/.bashrc para editar.

Recordemos su ruta de inicio una vez para evitar más líneas largas. Añada esta a su /home/YOUR_USERNAME/.bashrc :

export HOME="/home/YOUR_USERNAME"

Luego usaremos la notación $HOME cuando queremos decir " /home/YOUR_USERNAME directory ".

Configuración de Android SDK

Descargue el archivo de Android SDK y descomprímalo en algún lugar. Digamos que es su directorio personal, $HOME/adt-bundle/ .

Agregue estas líneas a su $HOME/.bashrc :

export ANDROID_HOME="$HOME/android-bundle/sdk/tools" export ANDROID_PLATFORM_TOOLS="$HOME/android-bundle/sdk/platform-tools" export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH"

Configuración de Ant

Al igual que con el SDK de Android, descargue un archivo y descomprímalo en su directorio personal. Luego .bashrc a tu .bashrc :

export ANT_HOME="$HOME/ant" export PATH="$PATH:$ANT_HOME/bin"

He instalado uno a través de apt-get así que esto no afectó mi .bashrc .

Aplicando cambios

Para que estos cambios funcionen, debe trabajar en una nueva ventana de terminal (abierta después de los cambios), o ejecutar source ~/.bashrc para hacer cambios disponibles en la ventana de terminal actual.

Terminando

Al final, obtendrás:

  1. Dos directorios en su directorio de inicio - ant y android-bundle
  2. Algunas líneas, agregadas a su .bashrc :

    export ANDROID_HOME="$HOME/android-bundle/sdk/tools" export ANDROID_PLATFORM_TOOLS="$HOME/android-bundle/sdk/platform-tools" export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH" export ANT_HOME="$HOME/ant" export PATH="$PATH:$ANT_HOME/bin"


Aquí tenemos una lista de soluciones, así que agrego mi. Eso no estaba claro para mí hasta que lo intenté. Debe agregar% ANT_HOME% / bin;% ANDROID_HOME% / tools;% ANDROID_HOME% / platform-tools a la variable USER PATH, no a una de Sistema. La variable PATH del sistema concatenará automáticamente la variable USER PATH y traducirá las variables a su valor. Espero que ayude a alguien. PD: mi sistema operativo es Win 7x64


Ejecute el comando "Android" desde la carpeta adt / sdk / tools e instale las herramientas y el SDK más recientes. También asegúrese de que su RUTA tenga las variables correctas.

Para esto, necesitarás instalar ANT, JAVA JDK y un SDK de Android instalado

JAVA_HOME (C: / Archivos de programa / Java / jdk)

ANT_HOME ({ubicación de hormiga} / apache / apache-ant)

ANDROID_HOME ({android sdk location} / android-sdk)

Añádalos a su variable PATH como% ANT_HOME% / bin;% ANDROID_HOME% / tools;% ANDROID_HOME% / platform-tools;% JAVA_HOME% / bin

Cierre y vuelva a abrir su cmd y ejecute su comando nuevamente.

Similar a PhoneGap / Cordova Android Development


Este problema suele deberse a que la variable PATH no se ha establecido para Android SDK.

export HOME="/home/yourname" export ANDROID_HOME="$HOME/android-bundle/sdk/tools" export ANDROID_PLATFORM_TOOLS="$HOME/android-bundle/sdk/platform-tools" export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH" export ANT_HOME="$HOME/ant" export PATH="$PATH:$ANT_HOME/bin"



La respuesta es todas las anteriores". Haga lo mencionado con las variables de entorno, sin embargo, también haga esto:

C: / Users {YOUR_NAME} .cordova / lib / android / cordova / 3.5.0 / framework edita el archivo project.properties y cambia target = android-19 a target = android-20.

Presumiblemente, esto tendrá que cambiarse para la próxima versión de sdk de Android hasta que se resuelva este pequeño problema.


Me di cuenta del problema con Cygwin / Windows 7. El problema se debe a las formas ligeramente diferentes en que los shells de Cygwin y MS-DOS tratan los archivos .bat.

Durante "agregar plataforma", cordova invoca "android":

C:/Users/xxx/.cordova/lib/android/cordova/3.4.0/bin/lib/check_reqs.js

Donde llama ''objetivos de la lista de Android'' (en la línea 73)

"android" debería resolverse en /xx/android-sdk/tools/android.bat o xx: / android-sdk / tools / android.bat. (Y, de hecho, sí, puedo ejecutar "android" en el shell de comandos de MS-DOS, pero no en el shell de Cygwin. Allí necesito agregar ".bat").

"android" sin ".bat" falla en el shell de Cygwin porque android.exe no existe (solo .bat lo hace). Cambiar la línea 73 para invocar ''blancos de la lista android.bat'' resolverá su problema (o dará un mensaje de error razonable).

Otra solución es ejecutar cordova en un shell de MS-DOS en lugar de shell de Cygwin.


No estoy seguro de si este es su problema, pero me he encontrado con errores similares cuando el caché de la biblioteca de Córdoba se contamina con algo corrupto. Para solucionarlo, solo necesita eliminar el caché de cordova, y se volverá a llenar automáticamente la próxima vez que use ''cordova''.

En OS X, este directorio es ~ / .cordova. En Windows, asumo que todavía es .cordova en el directorio de inicio de tus usuarios.


Para aquellos que han encontrado este problema, agrego algo extra que puede ser útil, en mi caso tenía todas las variables configuradas correctamente y esto aún no podía agregar la plataforma Android y lo hice, ¡deshabilité mi avast antivirus y soplo! todo fluía sin problemas, lo que sucedía era que el antivirus estaba bloqueando la creación de la plataforma.

También fue importante para mí reiniciar la PC. ;)

Saludos.


Para funcionar, este comando de cordova necesita utilizar algunos programas ubicados en el directorio sdk/tools . También debes tener instalada la hormiga apache .

Luego debe agregar estos directorios a su PATH sistema PATH :

Fondo:

  • supongamos que ha instalado su SDK de Android en el directorio c:/sdk/android
  • usted ha instalado Apache ant al directorio c:/tools/apache-ant

Entonces debes crear dos variables de sistema:

  1. ANDROID_HOME con el valor c:/sdk/android
  2. ANT_HOME con el valor c:/tools/apache-ant

Finalmente, debe modificar la variable PATH y agregar esos dos al final del valor PATH '':

;%PATH%/tools;%ANT_HOME%/bin;%ANDROID_HOME%/tools;%ANDROID_HOME%/platform-tools

NOTA: para aquellos que usan Linux, la instrucción difiere un poco.

Más documentación disponible here .


Tuve el mismo problema a pesar de que las variables de ruta se configuraron exactamente según las instrucciones. Después de pasar por múltiples archivos, finalmente lo resolvió. Para mí (Windows 7 enterprise 64 bit) tuve que modificar check_reqs.js y create.js desde la carpeta "C: / Users / .cordova / lib / android / cordova / 3.5.0 / bin / lib /" para incluir la ruta absoluta para el android.bat. Mi SDK de Android está en "C: / Android / android-sdk".

En check_reqs.js modifiqué

child_process.exec(''android list targets'', function(err, stdout, stderr) {

a

child_process.exec(''C://Android//android-sdk//tools//android.bat list targets'', function(err, stdout, stderr) {

En create.js modifiqué la declaración

return exec(''android update project --subprojects --path "'' + projectPath + ''" --target '' + target_api + '' --library "'' + path.relative(projectPath, targetFrameworkDir) + ''"'');

a

return exec(''C://Android//android-sdk//tools//android.bat update project --subprojects --path "'' + projectPath + ''" --target '' + target_api + '' --library "'' + path.relative(projectPath, targetFrameworkDir) + ''"'');

Además, no olvides los dobles "//" en el camino absoluto


después de una larga lucha, después de hacer todas las sugerencias anteriores más de una vez con creciente desesperación, simplemente abrí mi cmd como administrador. funcionó. Supongo que me acabo de acostumbrar a "sudo" antes de obtener esta pc.