BennuGD packager

Started by josebita, August 19, 2012, 11:13:44 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

josebita

Quote from: FreeYourMind on February 05, 2013, 12:23:10 PM
estoy portando el pakager.py a c# y lo integraré en bennugd net tools, a ver si debugueando despues el mio veo mejor porque me falla en mi pc
Ok. Estos errores suelen ser errores de ADB y similares, si miras la consola que se te debería abrir puede que llegues a algo...

FreeYourMind

se esfuma, hay que ejecutar la aplicacion en consola para que no se escape

FreeYourMind

Bueno por hoy ya me vale, la adaptación sigue en marcha, a ver si finde la retomo/termino, y si salen dudas ya te preguntaré.
De momento intentaré de nuevo hacerlo funcionar con el tuyo.

Te dejo una pantalla de mi clon  ;D




KeoH

clon .. pero clon con ganas xDDDD

josebita

Quote from: FreeYourMind on February 05, 2013, 09:25:46 PM
Bueno por hoy ya me vale, la adaptación sigue en marcha, a ver si finde la retomo/termino, y si salen dudas ya te preguntaré.
De momento intentaré de nuevo hacerlo funcionar con el tuyo.

Te dejo una pantalla de mi clon  ;D




Mola :)

Si haces que funcione bien, dejo de empaquetar mi packager para windows, que el de linux es más fácil de mantener :)

FreeYourMind

el problema es que sólo sacaré todas las tools juntas en la misma app, y todavia me queda muuuuchos meses xD

KeoH

Pues te esta quedando de puta madre Free. Animo con este mega IDE q te estas currando xDDD

FreeYourMind

Y es porque no te he enseñado ni la cuarta parte, si supieras el potente map editor que ya tiene, completamente implementado y compatible con varios map editors que hay por ahí, fliparias xD

JaViS

Josebita,


te dejo el link con los pasos para preparar el APK para el store de OUYA! que ya esta funcionando :D


http://ouyaforum.com/showthread.php?1335-OUYA-Store-is-Up!
Working on Anarkade. A couch multiplayer 2D shooter.

josebita

Quote from: JaViS on February 06, 2013, 12:39:48 PM
Josebita,


te dejo el link con los pasos para preparar el APK para el store de OUYA! que ya esta funcionando :D


http://ouyaforum.com/showthread.php?1335-OUYA-Store-is-Up!
Muchas gracias :)

FreeYourMind

Ya tengo novedades, ya lo tengo implementado en mi aplicación, tambien ya me genera los APK.

Una cosa que he cambiado es la ruta de los ficheros temporales, no me gusta que se vayan a la carpeta windows, asi que en la mia estos se generan en la carpeta de mi aplicacion y los podré ver a todo momento.

Hablando de los ficheros creados con ANT, tengo los mismos problemas que con la tuya (creo que aqui ya es tema de ANT), mirandolo mejor, veo que se generan bien los ficheros Debug y Release, pero en la tablet sólo se intalan los ficheros Debug:

Modo Debug, me genera estos ficheros:

SDLApp-debug.apk
SDLApp-debug-unaligned.apk

el SDLApp-debug.apk si que me lo instala en la tablet :)

Modo Release, me genera ese fichero:

SDLApp-release-unsigned.apk

el cual da error al instalarlo, me dice apk no instalado.


Tengo un par de preguntas:

1 - He visto que los otros juegos Bennu instalados en la tablet, te pone el shortcut en el ambiente de trabajo, pero el que yo genero sólo sale en la pantalla de aplicaciones, que hay que hacer para que salga en el ambiente de trabajo al instalarlo ?

2 - En preferences, que valores tienes por defecto para Key Store Password y Key Store Alias ? Yo se los estoy pasando a string.empty de momento.


De momento mi juego entra y sale, seguramente sea tema de resolución, ahora miraré el juego a ver que pasa.

Gracias.

josebita

Quote from: FreeYourMind on February 10, 2013, 10:13:47 AM
Ya tengo novedades, ya lo tengo implementado en mi aplicación, tambien ya me genera los APK.

Una cosa que he cambiado es la ruta de los ficheros temporales, no me gusta que se vayan a la carpeta windows, asi que en la mia estos se generan en la carpeta de mi aplicacion y los podré ver a todo momento.
No debería generarse en c:\windows sino en la carpeta temporal del usuario para cada sistema, en la línea 280 de packager.py pone:
        # Create the workdir
        if sys.platform.startswith('win'):
            workdir = os.path.join(os.getenv('TMP'), 'bgdp_'+str( uuid.uuid1()))
        elif sys.platform == 'darwin':
            workdir = os.path.join('/private', 'tmp', 'bgdp_'+str( uuid.uuid1()))
        else:
            workdir = os.path.join('/tmp', 'bgdp_'+str( uuid.uuid1()))

Quote from: FreeYourMind on February 10, 2013, 10:13:47 AMHablando de los ficheros creados con ANT, tengo los mismos problemas que con la tuya (creo que aqui ya es tema de ANT), mirandolo mejor, veo que se generan bien los ficheros Debug y Release, pero en la tablet sólo se intalan los ficheros Debug:

Modo Debug, me genera estos ficheros:

SDLApp-debug.apk
SDLApp-debug-unaligned.apk

el SDLApp-debug.apk si que me lo instala en la tablet
El que te interesa es el SDLApp-debug.apk, sí.
Quote from: FreeYourMind on February 10, 2013, 10:13:47 AM
Modo Release, me genera ese fichero:

SDLApp-release-unsigned.apk
Claro, debe estar firmado correctamente.
Para ello debes haber creado las firmas correctamente. Hay un post anterior de Javis ( http://forum.bennugd.org/index.php?topic=1221.670 ) en este hilo en el que se explica cómo crearlas. El tema es que Android no te va a dejar instalar un APK que no esté firmado. Si compilas en modo debug se te instala con una clave que te genera ANT directamente si no existe.

El tema es que para crear el APK en modo Release debes haber creado (y especificado en las preferencias en mi packager) tus propias firmas. Si no lo tienes, lo que vas a obtener es un APK sin firmar que Android se va a negar a instalar. De ahí el error que te ocurre.

Éstos errores generalmente se pueden debuggear fácilmente haciendo "adb logcat" desde el directorio platform-tools del SDK de Android.
Quote from: FreeYourMind on February 10, 2013, 10:13:47 AM
el cual da error al instalarlo, me dice apk no instalado.


Tengo un par de preguntas:

1 - He visto que los otros juegos Bennu instalados en la tablet, te pone el shortcut en el ambiente de trabajo, pero el que yo genero sólo sale en la pantalla de aplicaciones, que hay que hacer para que salga en el ambiente de trabajo al instalarlo ?
... No entiendo. A mí en Android 4.2 cuando instalo una app desde el Google Play sí se me crea una entrada en el "escritorio" pero si lo instalo manualmente no. Pero esto es cosa de Android. Cuando crees una aplicación y la subas al Google Play le aparecerá en el "escritorio" al usuario al instalarlo.
Quote from: FreeYourMind on February 10, 2013, 10:13:47 AM2 - En preferences, que valores tienes por defecto para Key Store Password y Key Store Alias ? Yo se los estoy pasando a string.empty de momento.
Se explica en el post de Javis que te comentaba.
Quote from: FreeYourMind on February 10, 2013, 10:13:47 AMDe momento mi juego entra y sale, seguramente sea tema de resolución, ahora miraré el juego a ver que pasa.

Gracias.
adb logcat es tu amigo en este caso.

Recuerda quitar la mod_debug de la lista de imports y creo que la mod_key da algún problema, también.

FreeYourMind

Si, efectivamente tienes razón me he confundido, pero la carpeta temporal del usuario va ser lo mismo, porque son carpetas que uno no suele mirar (por lo menos yo).

sobre el escritorio tienes razón, las que me salen fueron instaladas del market.

miraré lo de las keys, de paso voy a ver si me creo una cuenta o configuro la mia para poder publicar en la store.

sobre el error de mi juego ya lo comento en tu hilo android, ahora el touch no me va...

bueno gracias por todo, estoy muy contento de haber convertido tu codigo a c# y que me funcione  ;D

josebita

Quote from: FreeYourMind on February 10, 2013, 10:14:44 PMSi, efectivamente tienes razón me he confundido, pero la carpeta temporal del usuario va ser lo mismo, porque son carpetas que uno no suele mirar (por lo menos yo).
Tal y como lo veo yo el usuario no debería tener que tocar esos ficheros. Es decir: la forma en que lo veo es que el usuario debería poder abstraerse del uso de ADB, creación de ficheros y demás.
Si todo fuera como debe, un usuario que usara mi packager "ideal" no debería siquiera saber qué es ADB para hacer un empaquetado estándar y, sin embargo, el usuario que quiera hacer cosas más avanzadas debería ser capaz de hacer el empaquetado por su cuenta.

Por eso trato de "ocultar" ese proceso de creación de ficheros y demás del usuario. De hecho al final del empaquetado, todos esos ficheros se borran. Pero vamos, que es mi opinión personal.
Quote from: FreeYourMind on February 10, 2013, 10:14:44 PMsobre el escritorio tienes razón, las que me salen fueron instaladas del market.

miraré lo de las keys, de paso voy a ver si me creo una cuenta o configuro la mia para poder publicar en la store.

sobre el error de mi juego ya lo comento en tu hilo android, ahora el touch no me va...
Ok, coméntalo y me lo anoto. Tengo pendiente una actualización relativamente grande del port a Android. El tema es que el miércoles tengo un examen de la carrera y hasta entonces no me voy a poder poner con bennu.
Quote from: FreeYourMind on February 10, 2013, 10:14:44 PMbueno gracias por todo, estoy muy contento de haber convertido tu codigo a c# y que me funcione  ;D
Nada, ánimo que tu proyecto tiene muy buena pinta.
Y no olvides que el objetivo del pakcager es que no sólo sirva para Android sino que en un futuro empaquete para otros sistemas, así que ponte con ello si te ves con ganas :)

FreeYourMind

Sobre publicar para otros sistemas, en mi aplicacion ya tengo un burn disk, que te permite grabar cd's dvd's, y en el tengo un combo que seria una especie de packager o plantilla, o sea, que el funcionamiento es similar, eliges la consola que use cd's, como play2, wii o xbox donde exista bennu, y la idea es que por defecto ya te diga el filesystem que tienes que tener y hace las respectivas comprobaciones antes de grabar el cd, es exactamente la misma logica de tu packager, pero logicamente para android no usamos cd's, por eso no he puesto la opcion en el menu de grabar cd's, mas tarde crearé un menu similar al de grabar cd's pero para crear instalaciones, donde podria estar windows, linux, ios, android, consolas portatiles, etc. ya es curro, pero con tiempo se podria hacer (aunque ahora mismo tengo otras prioridades en la aplicación), por ejemplo para las consolas caanoo, wiz, pandora, etc, se puede hacer algo similar a tu package y que la aplicacion que haga ya lo ficheros .sh o el xml de pandora para crear su pnd por ejemplo.