image-target
¿Hola, cómo estan? Ya han pasado unos meses desde que lancé el post de instalar vuforia en unity3d. Para mi, unity3d facilita muchas las cosas con respecto a la utilización y creación de realidad aumentada para móviles. Pero tiene dos puntos en contra:

  • Pesa mucho un apk creador por unity. Más de 10 megas.
  • Si no tienes la extensión android (de paga) para trabajar con unity3d, no funciona.

Es por eso que ahora les mostraré como crear los apps de vuforia con eclipse. Tienen que estar atentos para ver las implicancias que tiene instalar Eclipse. Para los novatos les recomiendo que lo tomen con calma y paso a paso 🙂

Lo que necesitamos

  1. Actualizar Java tanto la versión de usario ordinario como la JSK. (Link)
  2. Instalar Eclipse con su última versión (Link)
  3. Tener actualizado el SDK y tener correctamente instalado android en eclipse. (Esto quiere decir que es necesario descargar el skd de android y instalarlo en el eclipse. Usa este link)

Se viene lo bueno

Ahora vamos a instalar el cygwin y el android ndk. Para muchos que no conocen mucho sobre la programación de android dirán ¿Para qué necesito el NDK si he hecho funcionar apps solo con el sdk? La respuesta es que necesitamos el ndk para poder crear unos archivos C++ necesarios para trabajar con vuforia en eclipse.

  1. Instalemos el Cygwin (la última versión). Cuando estemos instalando es necesario dar que lo haremos vía internet y escogeremos un mirror para iniciar la descarga. Luego nos saldrá una lista. Busquemos la palabra “make”. Usaremos la versión más actual. Te das cuenta que todas tienen Skip, solo la devel > make tiene el número de la versión. Eso quiere decir que la hemos elegido. Vamos bien!
    devel-make
  2. Necesitamos que cygwin esté en el entorno de variales. Entramos equipo > propiedades > configuración avanzada del sistema > variables de entorno > path. Agregamos allí sin dar espacios ;C:cygwinbin
  3. Ahora que está instalado entramos al terminal de Cygwin para comprobar la instalación de “make”. Entramo a la pantalla negra y escribimos: make -vmake-v

¿NDK? No lo conozco

Como en muchos software a medida que vamos entendiendo cosas aparecen complicaciones. ¿NDK? Conozco muchos que han tirado la toalla al ver que no pueden hacer nada con NDK. Explicaré lo más fácil posible los pasos.

  1. Descarga la última versión de NDK. Yo uso la r8d.
  2. Descomprímelo y usalo en una carpeta fácil de leer como por ejemplo el C. Sería algo así como C:/android-ndk-r8d
  3. Ahora necesitamos poner ese directorio en la variable de entorno. Lo mismo que hicimos con cygwin. En este caso agregaremos ;C:cygwinbin
  4. Para probar si funciona usaremos un app de vuforia. Entremos al terminal de cygwin. Buscamos el app donde está alojado ImageTargets y al final escribimos ndk-build. Va instalar archivos necesarios de c++.Mira lo que aparece en otro ejemplo si uso MultiTargets

Cygwin         : Generating dependency file converter script
Compile++ arm    : MultiTargets <= MultiTargets.cpp
Compile++ arm    : MultiTargets <= SampleUtils.cpp
Compile++ arm    : MultiTargets <= Texture.cpp
StaticLibrary  : libstdc++.a
Prebuilt       : libQCAR.so <= jni/../../../build/lib/armeabi/
SharedLibrary  : libMultiTargets.so
Install        : libMultiTargets.so => libs/armeabi/libMultiTargets.so
Install        : libQCAR.so => libs/armeabi/libQCAR.so
Compile++ arm    : MultiTargets <= MultiTargets.cpp
Compile++ arm    : MultiTargets <= SampleUtils.cpp
Compile++ arm    : MultiTargets <= Texture.cpp
StaticLibrary  : libstdc++.a
Prebuilt       : libQCAR.so <= jni/../../../build/lib/armeabi-v7a/
SharedLibrary  : libMultiTargets.so
Install        : libMultiTargets.so => libs/armeabi-v7a/libMultiTargets.so
Install        : libQCAR.so => libs/armeabi-v7a/libQCAR.so

¿Y, ahora qué?

Importemos la carpeta de ImageTargets a eclipse y le damos DEBUG. Yo siempre utilizo debug para ver si todo corre bien y si no hay ningún problema de compatiblidad, de ejercicio y de nomenclatura.

Algunas cosas importantes que tenemos que tener en cuenta están en este post

😉 Happy Coding

21 COMMENTS

  1. Muy buen aporte yo estoy desarrollando una aplicación con Unity3D y vuforia, en la interacción de botones virtuales, también tratando de cambiar modelado con el botón virtual, excelente tutorial 😉

  2. Hola buenos días soy nuevo utilizando el eclipse y el vuforia sdk me gustaría, tengo las siguientes preguntas debido a que el nuevo sdk de android viene con el eclipse ya incorporado, me gustaría saber si debo aplicar el NDK??? en una ocasion lo aplique y perdí todo el ecxlipse dejo de tener el sdk de android y en cuanto el vuforia sdk es peor no logro avanzar del paso 2 del cygwin, no eres tan especifico en los pasos de verdad necesito con urgencia tu ayuda sin mas que decir de antemano gracias

  3. Hola una pregunta yo instalé Cygwin para utilizar C con codeblocks puedo obviar el paso de instalar Cygwin ya que el link que cuando bajo setup-x56_64.exe y quiero instalar me dice que no es aplicacion Win32 válida tengo windows 64 bits

  4. Yo acabe un proyecto de tesis con Realidad Aumentada junto con Unity3D y vuforia la verdad sus paquetes de vuforia vienen grandiosos me permiten hacer muchas cosas y manipular de manera sencilla el código que bien esta en el editor MONO que contiene UNITY, por archivos java se manipula la interacción por dedo sin necesidad de touch en dispositivo movil ya sea android o IOS muy recomendable ademas de que ofrece unity un foro para la programación de juegos en 3D y mezclando un poco con Vuforia se convierte en una herramienta muy útil.

    • Hola Jonathan
      Son herramientas muy buenas. Me gustaría dedicarme más a experimentar con Unity3d. Gracias por visitar mi blog y comentar tu experiencia
      Saludos

  5. Hola Emilio:
    Me quede en el punto 4 de instalar el NDK, yo descargue los ejemplos para android de vuforia y busque uno de ellos desde la consola y escribí ndk-build, y me dice que no se encontró la ordén, también quisiera por favor saber cuando dices importar el image targets es como proyecto.
    Muchas gracias por tu ayuda,

    • Hola Claudia
      Si no encontró la orden quiere decir que no has instalado bien dentro del path, puede ser que por eso no corre bien.
      En el tema de imagen target no debe ser como proyecto sino como un archivo simple que agregas eclipse

      Saludos

  6. Hola! muy buen tutorial te felicito pero me gustaria que me saliese tal y como lo explicas:(
    Estoy con el error de make: no se encontro la orden. He reinstalado varias veces cygwin, con el paquete make y por ultimo añadi Shell tambien pero nada, me sige saliendo que no encuentra la orden.Lo tengo en ;C:cygwinbin agregado en Path he probado con barra diagonal, quitando el bin he reinstalado…pero sigue igual ya nose que hacer.

    Me podrías ayudar por favor?? quiero hacer todo esto para un proyecto creativo y me da el bajon viendo que me da este error tantas veces.He leido foros y no encuentro ninguna solución.

    Por favor le agradecería muchisimo que me diera una solucion efectiva.Tengo Window 64 bits
    Espero su respuesta pronto.Saludos!!

  7. Hola lo mismo digo buen tutorial solo me encuentro con un problema, a la hora de escribir la linea ndk-build pues me dice no se encontro la orden y me gustaria mucho que me puedas orientar la verdad es que ya llebo algo de tiempo, segui tu tutoria con unity pero ahora quiero seguir el tutorial con vuforua, agradeceria mucho tu ayuda hasta luego.

    • Hola Noemi
      Debes primero instalar en la computadora el nkd-build antes de iniciar el comando.
      En qué parte estas?

      Me comentas
      Gracias por comentar

      • Hola Emilio de ante mano muchas gracias por responder.
        Ya me salio el paso donde debo ejecutar el comando ndk-build, correctamente yo no tenia el ndk indicado, pero a la hora de querer probar ImageTargetsNative me muestra el siguiente error:

        $ ndk-build
        Android NDK: ERROR:jni/Android.mk:Vuforia-prebuilt: LOCAL_SRC_FILES points to a missing file
        Android NDK: Check that jni/../../../build/lib/armeabi-v7a/libVuforia.so exists or that its path is correct
        /cygdrive/c/Vuforia/DESARROLLO/ANDROIDE/android-ndk-r9d/build/core/prebuilt-library.mk:45: *** Android NDK: Aborting . Alto.

  8. Hola amigo!
    Ya instale todo como en la página de Vuforia. siguiendo todo el tutorial. Probé el con un ejemplo del NDK en la consola de cygwin y todo bien. Al momento de abrir eclipse me dice que en donde guarda el nuevo proyecto y yo le deje por default en Workspace y al momento que importo los ejemplos de vuforia y al momento de compilar me dice que no encuentra el armeabi… Mi pregunta (suena un poco tonta, perdón) en donde que workspace debo escoger al momento de iniciar eclipse? No entiendo muy bien eso… Muchas gracias por tu atención

  9. Hola amigo!
    Ya instale todo como en la página de Vuforia. siguiendo todo el tutorial. Probé el con un ejemplo del NDK en la consola de cygwin y todo bien. Al momento de abrir eclipse me dice que en donde guarda el nuevo proyecto y yo le deje por default en Workspace y al momento que importo los ejemplos de vuforia y al momento de compilar me dice que no encuentra el armeabi… Mi pregunta (suena un poco tonta, perdón) en donde que workspace debo escoger al momento de iniciar eclipse? No entiendo muy bien eso… Muchas gracias por tu atención! Atentamente Ines

  10. Hola!
    En la parte de ¿NDK? No lo conozco
    En el paso 3 pones que hay que añadir al path ;C:cygwinbin
    No es lo mismo que cuando instalas cygwin? Quiero decir, no se repite? O hay que ponerlo dos veces en el path.
    Gracias!

    • Hola. Una cosa es instalar y luego tienes que entrar a verificar en el path. Si en el path tienes cygwinbin ya no es necesario agregarlo 🙂 Pero en muchos casos se agrega para el sistema.

      Así logré arrancar el ejemplo
      Gracias por comentar
      Saludos

  11. hola amigo tengo un proyecto sobre realidad aumentada para android y lo haremos con eclipse y con vuforia mi duda es como le hago si ahora eclipse ya no se instala solo se ejecuta y ya. es el mismo procedimiento agradecere mucho tu respuesta!! porfavor!!

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.