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)
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
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
josebita, cuales son los archivos android que tengo que crear para crear un proyecto nuevo?
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.
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)
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.
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...
(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...
gracias joseba por responder... pregunta, esto es un procedimiento normal para cualquier proyecto o solo para BennuGD?
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.
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.
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.
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?
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...
No tengo idea de lo q estais haciendo ... así q os doy animos!! xDD Animo! Animo! xD
posiblemente...
bueno, lo dejo aparcado por ahora... ya tendre tiempo (si mi flia me deja) que mañana arranca fin de semana largo...
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.
vale... gracias... investigare... si encuentro como hacerlo, pongo aca como hacerlo, si te interesa, claro.
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...
ant ya me vino instalado... gracias...
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
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).
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
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...
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
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.
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...
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
creo que alguna vez se hablo... estaria bueno, claro que si.