Gestor de proyectos – HacknPlan
09/06/2016
Sonido ambiente en escenario Unreal Engine
26/06/2016
Ver todo

Fallo al compilar juego android, ANT_HOME y JAVA_HOME

Problemas con Apache_Ant y UE4

Este horrendo titulo que puedes ver aquí arriba, me ha llevado casi un mes entero solucionarlo, dolores de cabeza, alguna noche que me ha costado incluso dormir, el problema es que quería seguir diseñando pero para que iba a seguir haciéndolo si no conseguía que el juego arrancase en mis dispositivos Android por culpa del Ant_home y el Java_home.

Bueno en realidad el Java_home me entro por los ojos después, estaba tan centrado en el Apache ant que mi ceguera no me dejaba observar el verdadero fallo, por eso mi principal consejo en este articulo es decirte que, pase lo que pase y por muy desesperado que estés, ante todo lee bien el log de fallos que te lanza unreal engine cuando lanzas el juego en tu dispositivo.

No obstante el problema no comenzó aquí, en primer lugar tras instalar todos los componentes y seguir cada paso del tutorial oficial para instalar android SDKobtenía como resultado un error bastante extraño, este me comunicaba que me faltaba algo por instalar y la verdad es que no era así.

ERROR: Can't make an APK without an API installed (see "android.bat list targets")

Para solucionar este error lo que hice fue comenzar a instalar casi todo lo que el SDK Manager me perimitia instalar, con una espera tremenda en factor tiempo, abajo una imagen para que te puedas ubicar.

android SDK manager

Seguido este paso el problema seguía persistiendo, acabe leyendo mucho en foros pero nadie me daba una solucion coherente, mi única opción fue, guardar todos los archivos de cada juego que tengo en desarrollo y borrar todo rastro tanto de Android como de UE4 para poder así comenzar desde el principio.

Cuando descargas unreal engine te dan dos opciones, descargarlo desde la misma web o hacerlo con GitHub (el cual no tengo ni idea donde esta), no obstante hay menos problemas cuando lo haces como yo, los pasos para instalar UE4 son sencillos, aceptar, aceptar, no leer condiciones de uso y aceptar.

Configurar el programa para que rinda en android ya es algo un poco mas complicado, pero ojo, solamente a los errores que pueda darte, cada caso es distinto, aveces falla y otras no, y en otras tantas el fallo es humano por no mirar bien como me paso a mi 😛

Para comenzar debes ir a la ruta donde tienes instalado ue4, en mi caso seria así: C:// Archivos de programa / epic games / 4.10 / engine / Extras / Android works / Win 64 (este ultimo varia dependiendo de tu sistema operativo obviamente.

Este archivo es un instalador, el principal objetivo es establecer una ruta donde unreal engine se va a dirigir para arrancar los juegos, en este caso nos creara una carpeta llamada NVPACK , el te configura todo lo que necesitas para exportar para andorid y probar tus juegos en estos dispositivos, tienes varias opciones, yo elegí la instalación Standart aun que igualmente mas tarde lo instale todo por si acaso, puedes ahorrarte tiempo haciéndolo desde el principio.

androidworks

Bien, hechos estos dos pasos y siguiendo el tutorial que te enlazo mas arriba vamos a entrar en la materia que me toco tanto las narices y su fácil solucion.

Una vez dentro de nuestro UE4 te debes dirigir a Settings / project settings / platforms / android SDK

platforms-android-sdk-ue4

Puedes ver que cada ruta establecida lleva a la carpeta raíz que he mencionado antes NVPACK, estas opciones suelen configurarse por si mismas cuando instalamos a través de Android Works, las ultimas dos opciones si puede que tengas que cambiarlas, la penúltima SDK API la tengo configurada con MatchNDK para que el mismo encuentre la aplicación y en cuanto a la ultima NDK API debes establecer la versión del NDK que tengas instalado, en mi caso es Android-19, también puedes escribir Latest y como en el caso anterior el mismo programa se ocupa de localizar la versión ( a mi esta opción no me ha funcionado y he probado con varios números como 19, 21, 22, 23 ).

Después de configurar todo esto ya me detectaba la api, pero como no puede ser de otra manera salto otro fallo:

cmd exe failed with args /c “C/NVPACK/apache-ant-1.8.2/bin/ant.bat” debug

Mi primer pensamiento fue, vale configuremos las opciones de la imagen que tienes un poco mas arriba en settings Android SDK y solucionado, pero nada, probé mas opciones como apagar antivirus, ejecutar como admin, reinstalar la carpeta NVPACK, volver a establecer la carpeta raíz y nada funcionaba, y aquí concluyo con lo que he dicho al principio del articulo, leer bien el log de fallos que os da UE4.

Mi problema no venia de Apache Ant como al principio me pensaba y tal como me mostraba el error, tras estar ayer 8 horas buscando y rebuscando mas información (toda inútil por cierto) me di cuenta que había un pequeño error mas en el log, se trataba de establecer el JAVA_HOME, tenia establecida otra carpeta raíz, ni idea de por que, una vez redirigida a mi carpeta JDK1.7.0_71 todo funciono correctamente.

Pude probar mi juego en mi móvil, después de horas y días y casi un mes de trabajo inútil y todo esto solo por no acabar de mirar bien el log, ojo, el primer error en el cual no detectaba la API si que era un fallo de mi ordenador e instalación de todo el proceso.

Vaya, después de escribir este articulo el cual es muuuuy pesado, hasta para mi que lo he estado escribiendo, toca despedirse, espero que para ti que has venido buscando una solucion te ayude, si no es así puedes escribirme y veremos que se puede hacer.

Seguiré creando mi mundo y espero que tu no dejes de crear tus historias, muchas gracias por pasar por aquí y nos leemos en el próximo articulo.

 

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Si continuas utilizando este sitio, aceptas el uso de las cookies. Más información

Las opciones de cookie en este sitio web están configuradas para "permitir cookies" para ofrecerte una mejor experiéncia de navegación. Si sigues utilizando este sitio web sin cambiar tus opciones o haces clic en "Aceptar" estarás consintiendo las cookies de este sitio.

Cerrar