Bennu Game Development

Foros en Español => General => Topic started by: SplinterGU on December 07, 2011, 02:30:58 AM

Title: compilar android...
Post by: SplinterGU on December 07, 2011, 02:30:58 AM
A ver si alguien me da una mano para preparar el entorno de compilacion android...

instale el sdk de android en una carpeta android-sdks, luego instale android-ndk-r7, cree las variables PATH apuntando a donde esta el adb y en el raiz del sdk...

voy a la carpeta samples/hello-jni (por ejemplo), le doy ndk-build y me tira el siguiente error

splinter@splinter-portatil:~/android-ndk-r7/samples/hello-jni$ ndk-build
Gdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup       : libs/armeabi/gdb.setup
Compile thumb  : hello-jni <= hello-jni.c
arm-linux-androideabi-gcc: error trying to exec '/home/splinter/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/as': execv: Exec format error
make: *** [obj/local/armeabi/objs-debug/hello-jni/hello-jni.o] Error 1

evidentemente algo estoy haciendo mal, demas esta decir que me pasa con cualquier cosa (incluida la version monolitica de josebita)

cualquier ayuda o pista que lleve a la solucion sera agradecida con su correspondiente karma... (y en un futuro proximo con una version oficial bennugd modular para android)
Title: Re: compilar android...
Post by: KeoH on December 07, 2011, 02:38:29 AM
Arrrrrgg ... me gustaría ayudarte con esto pero me suena a chino jajajaja Usas eclipse, lo haces a pelo o usas otro programa? Yo con eclipse he llegado a conseguir hacer los tutoriales de android developer xDD y mira q soy manco yo pa esto jajaja
Title: Re: compilar android...
Post by: SplinterGU on December 07, 2011, 02:39:05 AM
ya lo solucione!

compilando...

da error

Compile++ thumb  : SDL <= SDL_android.cpp
In file included from jni/SDL/../../../../3rdparty/SDL-1.3/src//src/core/android/SDL_android.cpp:29:
jni/SDL/../../../../3rdparty/SDL-1.3/src//src/core/android/../../events/SDL_events_c.h:27:30: error: SDL_dropevents_c.h: No such file or directory
make: *** [obj/local/armeabi/objs/SDL/src/core/android/SDL_android.o] Error 1


pero ya va marchado la cosa... :D
Title: Re: compilar android...
Post by: SplinterGU on December 07, 2011, 02:44:35 AM
josebita, cuales son los archivos android que tengo que crear para crear un proyecto nuevo?
Title: Re: compilar android...
Post by: josebita on December 07, 2011, 09:22:00 AM
Quote from: SplinterGU on December 07, 2011, 02:44:35 AM
josebita, cuales son los archivos android que tengo que crear para crear un proyecto nuevo?
los makefiles están en projects/android y el formato no es el estándar de gnu.
Title: Re: compilar android...
Post by: SplinterGU on December 07, 2011, 12:22:42 PM
y no hay que crear xml, nada nada? todo lo genera el ndk-build?

si me describis en unas lineas cuales son los archivos que tengo que generar a mano y cuales se generan solos con el ndk-build u otra utilidad, seria fantastico.

por otro lado, me podrias explicar tambien como armar el apk? (queria armar uno de los samples, pero no va)
Title: Re: compilar android...
Post by: FreeYourMind on December 07, 2011, 12:49:15 PM
El apk se genera sólo (es como si fuera el "binario" generado por la compilación).

Si les el hilo de android en las páginas donde josebita me explica a compilarlo tendrias todas las respuestas.

Title: Re: compilar android...
Post by: SplinterGU on December 07, 2011, 01:14:40 PM
Quote from: FreeYourMind on December 07, 2011, 12:49:15 PM
El apk se genera sólo (es como si fuera el "binario" generado por la compilación).

Si les el hilo de android en las páginas donde josebita me explica a compilarlo tendrias todas las respuestas.



lamento informarte que no se genera solo, por lo menos no con los samples que aparecen en el ndk...

como si tuviera tiempo de leerme todo el hilo, ademas de que me pierdo en el hilo, si me haces el gran favor de indicarme el post (que imagino dira como hacer el apk, porque yo busque en el foro la palabra apk, y en ninguno dice como), te lo agradezco...

EDIT: supongo que se hara con ant install, pero el ant install me tira esto...

splinter@splinter-portatil:/home/opt/android-ndk-r7/samples/hello-jni$ ant install
Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-7-openjdk-i386/lib/tools.jar
Buildfile: build.xml does not exist!
Build failed

me falta el tools.jar (no deberia venir?)

y el build.xml, que ni idea como crearlo...
Title: Re: compilar android...
Post by: josebita on December 07, 2011, 01:58:39 PM
(Perdón por la tardanza en contestar; me he venido al trabajo y se me ha pasado...).
Una vez que la parte nativa (NDK) ha acabado, puedes crear el apk ejecutando "ant install" o "ant debug".
Según la página de instalación del SDK de Android (http://developer.android.com/sdk/installing.html), necesitas el JDK 6 de Sun, así que _imagino_ que no irá desde el OpenJDK y menos el 7. Puedes bajártelo de aquí (http://www.oracle.com/technetwork/java/javase/downloads/index.html).
El build.xml está (en mi rama) en projects/android/build.xml pero lo que debes modificar es el local.properties (http://code.google.com/p/bennugd-monolithic/source/browse/trunk/projects/android/local.properties) para que apunte a la ruta donde tengas el SDK instalado. De todas formas eso no hará falta hasta que termines la parte del NDK.

Y desde esa ruta (projects/android) ejecutas:
ndk-build
ant install (deberás tener el dispositivo conectado y adb funcionando)

Y debería funcionar. Para que te hagas una idea de lo que hace, la parte de ndk-build compila todo el código como librerías dinámicas y estáticas (definidas en el makefile projects/android/jni (http://code.google.com/p/bennugd-monolithic/source/browse/trunk/projects/android/#android%2Fjni)) al directorio "projects/android/libs/" y compila el código principal a una librería llamada libmain.so (y lo enlaza al resto de librerías necesarias). Luego es el código java (http://code.google.com/p/bennugd-monolithic/source/browse/trunk/projects/android/src/org/libsdl/app/SDLActivity.java) el que llama a la función main que está en libmain.so

A ver si me he explicado bien.

[Edito] Lo de la falta de cabeceras puede ser que se me haya pasado subir algo al SVN, lo revisaré. Mientras tanto puedes cogerlo a mano desde aquí: http://hg.libsdl.org/SDL/file/0209e1e113f2/src/events/SDL_dropevents_c.h aunque no sé si no faltará alguno más...
Title: Re: compilar android...
Post by: SplinterGU on December 07, 2011, 02:35:52 PM
gracias joseba por responder... pregunta, esto es un procedimiento normal para cualquier proyecto o solo para BennuGD?
Title: Re: compilar android...
Post by: josebita on December 07, 2011, 02:51:22 PM
Yo diría que es bastante normal. Básicamente es instalar el SDK + ndk y luego compilar ambos códigos. Muchas gente prefiere usar eclipse,  pero yo estoy cómodo con la línea de comandos.
Title: Re: compilar android...
Post by: FreeYourMind on December 07, 2011, 02:56:07 PM
Como nota en windows al usar el cygwin, habia partes del codigo que al crear el objeto me petaban el SO y el PC se fundia en una bonita pantalla azul, lo porbé 2 veces y lo tengo claro, hay problemas compilando por lo menos en mi Windows 7.

Por suerte compilar el proyecto en Linux es bastante sencillo, sólo hay que cambiar la ruta del SDK y instalar el ant si no lo tenemos.
Title: Re: compilar android...
Post by: SplinterGU on December 07, 2011, 03:07:37 PM
bueno, copiado el .h ahi esta compilando bennugd...

copiar el build.xml no soluciono el problema de generacion de los samples, edite el build.xml para poner lo que supongo es la class, pero no va, me dice que no la encuentra...

por otro lado, no necesite bajar el java-6, con instalar el default-jdk (version 7) ya el ant empezo a correr...

creo que estaria bien un instructivo de pocas lineas (y no leer largos tutoriales en ingles) con los paquetes que hacen falta, me costo un buen tiempo sacarlo...

igual quiero entender como funciona el metodo para armar algo de cero... no solo compilar bennugd para android.
Title: Re: compilar android...
Post by: SplinterGU on December 07, 2011, 03:13:18 PM
otro ausente...

Compile thumb  : bgdrtm <= sysprocs.c
In file included from jni/bgdrtm/../../../../core//include/loadlib.h:38,
                 from jni/bgdrtm/../../../../core/bgdrtm/src/sysprocs.c:29:
jni/bgdrtm/../../../../core//include/monolithic_includes.h:96:35: error: mod_fmodex_symbols.h: No such file or directory
In file included from jni/bgdrtm/../../../../core//include/loadlib.h:38,
                 from jni/bgdrtm/../../../../core/bgdrtm/src/sysprocs.c:29:
jni/bgdrtm/../../../../core//include/monolithic_includes.h:205: error: 'mod_fmodex_globals_def' undeclared here (not in a function)
jni/bgdrtm/../../../../core//include/monolithic_includes.h:205: error: 'mod_fmodex_functions_exports' undeclared here (not in a function)
jni/bgdrtm/../../../../core//include/monolithic_includes.h:288: error: 'mod_fmodex_globals_fixup' undeclared here (not in a functi


joseba, una cosa util que yo hago para saber que fuentes me faltan incluir en el svn es

svn st | grep ^?

eso va a generar una lista de los archivos que svn no conoce...

ahora me pregunto, como es que free pudo compilarlo si a mi me faltan fuentes y baje la version del svn?
Title: Re: compilar android...
Post by: FreeYourMind on December 07, 2011, 03:15:18 PM
Yo compile versiones mucho mas viejas, hace 2 meses que no compilo nada, seguramente es porque en la ultima ya hay muchas cosas nuevas y faltaran algunas dependencias en el CVS...
Title: Re: compilar android...
Post by: KeoH on December 07, 2011, 03:23:21 PM
No tengo idea de lo q estais haciendo ... así q os doy animos!! xDD Animo! Animo! xD
Title: Re: compilar android...
Post by: SplinterGU on December 07, 2011, 03:35:19 PM
posiblemente...

bueno, lo dejo aparcado por ahora... ya tendre tiempo (si mi flia me deja) que mañana arranca fin de semana largo...
Title: Re: compilar android...
Post by: josebita on December 07, 2011, 04:32:29 PM
Quote from: SplinterGU on December 07, 2011, 03:35:19 PM
posiblemente...

bueno, lo dejo aparcado por ahora... ya tendre tiempo (si mi flia me deja) que mañana arranca fin de semana largo...
Gracias por el comando, la verdad es que no sabía cómo hacer eso :)

La cabecera del fmod ya no te debería hacer falta, era cuestión de añadir el flag de compilación para que no la incluya en Android aún.
En cuanto a cómo hacer la compilación desde cero, la verdad es que no lo sé: yo empecé a partir del ejemplo de SDL.
Title: Re: compilar android...
Post by: SplinterGU on December 07, 2011, 04:33:51 PM
vale... gracias... investigare... si encuentro como hacerlo, pongo aca como hacerlo, si te interesa, claro.
Title: Re: compilar android...
Post by: josebita on December 07, 2011, 04:46:36 PM
Quote from: SplinterGU on December 07, 2011, 04:33:51 PM
vale... gracias... investigare... si encuentro como hacerlo, pongo aca como hacerlo, si te interesa, claro.
Claro.
Y sobre los paquetes que necesitas para compilar, deberían ser esos: el JDK, el SDK de android (con algún "target" y las platform-tools instalados), el NDK de Android, ant (paquete ant1.7, por ejemplo) y creo que nada más...
Title: Re: compilar android...
Post by: SplinterGU on December 07, 2011, 05:02:56 PM
ant ya me vino instalado... gracias...
Title: Re: compilar android...
Post by: SplinterGU on December 08, 2011, 03:24:26 AM
joseba, tenes idea por que me puede dar esto?


splinter@splinter-portatil:~/bennugd/bennugd-monolithic-read-only/projects/android$ ant install
Buildfile: /home/splinter/bennugd/bennugd-monolithic-read-only/projects/android/build.xml

BUILD FAILED
/home/splinter/bennugd/bennugd-monolithic-read-only/projects/android/build.xml:49: taskdef class com.android.ant.SetupTask cannot be found
using the classloader AntClassLoader[]

Total time: 0 seconds
Title: Re: compilar android...
Post by: josebita on December 08, 2011, 10:50:36 AM
Por lo que veo en google, debes modificar el local.properties para que apunte a la ruta en la que has descomprimido el SDK.

Además, debes haberte bajado una versión del SDK a través de la herramienta (yo suelo poner 2.3).
Title: Re: compilar android...
Post by: SplinterGU on December 08, 2011, 03:37:59 PM
puse en el local que apunte al sdk, eso creo...

puede que me falte bajar algo mas... voy a darle nuevamente...

revisare todo y te comentare...

gracias
Title: Re: compilar android...
Post by: SplinterGU on December 09, 2011, 12:16:23 AM
bien, ya logre compilar y hacer funcionar bennugd en android... (la version de joseba...)

ahora comenzare la aventura de hacer lo mismo con la rama oficial...
Title: Re: compilar android...
Post by: KeoH on December 09, 2011, 12:37:46 AM
jur jur jur ... y q diferencia hay entre la rama de joseba y la oficial .. aparte de q la oficial es la oficial xDDDDDD (respuesta para economistas por favor) jajajaja
Title: Re: compilar android...
Post by: josebita on December 09, 2011, 12:57:54 AM
Quote from: SplinterGU on December 09, 2011, 12:16:23 AM
bien, ya logre compilar y hacer funcionar bennugd en android... (la version de joseba...)

ahora comenzare la aventura de hacer lo mismo con la rama oficial...
Genial! Si te puedo ayudar en algo, avisa ;)
Quote from: KeoH on December 09, 2011, 12:37:46 AM
jur jur jur ... y q diferencia hay entre la rama de joseba y la oficial .. aparte de q la oficial es la oficial xDDDDDD (respuesta para economistas por favor) jajajaja
La mía va toda en un único fichero y la de splinter va separada en múltiples módulos.
Title: Re: compilar android...
Post by: SplinterGU on December 09, 2011, 01:46:50 AM
ademas la de josebita es sdl1.3, y la oficial es 1.2 (por ahora)...

claro, igual vamos a aprovechar el trabajo de josebita... no es trabajo tirado a la basura...

Title: Re: compilar android...
Post by: KeoH on December 09, 2011, 02:50:44 AM
weno, voy a  hablar un poco sin saber .. pero  ¿se ha hablado alguna vez de usar para los gráficos de los procesos imágenes vectoriales?, no me refiero a poder cargarlas ... sino a manejarlas internamente como imágenes vectoriales. Estaría bien para evitar la pixelación ... aunque seguro consumiría mas calculo ... no se .. pregunto por preguntar xD
Title: Re: compilar android...
Post by: SplinterGU on December 09, 2011, 03:58:44 AM
creo que alguna vez se hablo... estaria bueno, claro que si.