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:
- Dos directorios en su directorio de inicio -
ant
yandroid-bundle
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 aceptada es buena y al grano.
Me encontré con otra página donde está muy bien explicada con capturas de pantalla.
Puede consultar http://bealers.com/2014/06/phonegap-android-development-environment-for-windows/
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:
-
ANDROID_HOME
con el valorc:/sdk/android
-
ANT_HOME
con el valorc:/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.