Archivo de septiembre 2010

Hoy voy a poner un pequeño post sobre Proguard, un ofuscador para Java. Probablemente muchos lo conozcáis y lo utilicéis ya con vuestras aplicaciones j2me, pero para los que no, os aconsejo dar un vistazo a este articulillo, que os irá bien, sinó ahora, más adelante, en alguna ocasión, con algún nuevo proyecto con módems Cinterion (TC65, XT65) o los terminales MTX.

El uso de un ofuscador para nuestras aplicaciones j2me es interesante, más que por su capacidad de “ofuscar el código”, por la reducción del tamaño final del fichero “.jar” generado. Nunca hay que olvidar (aunque alguno a veces parece que lo haga ;) ) que no estamos programando un procesador Core2Duo, sino que estamos programando dispositivos con un tamaño de memoria RAM y FLASH muy limitada. Por ejemplo un módem GPRS MTX65 dispone de una memoria RAM de unos 400KB y de 1.7MB de memoria FLASH. El uso de un ofuscador nos hará aprovechar al máximo la preciada memoria FLASH y sobre todo la memoria RAM de nuestros módems.

Para hacernos una idea, el nuevo firmware del MTXTunnelv5.0 que saldrá en breve (este mes) ocupa, sin ofuscar, unos 130KB, mientras que ofuscándolo unos 80KB. Podéis ver que la reducción es bastante significativa.

¿Y qué hay que hacer para usar un ofuscador?

Pues lo primero de todo bajárselo.

¿Con el emule?

No, que es gratis.

¿Y dónde está?

Lo encontrarás en este Link: http://sourceforge.net/projects/proguard/files/

Bájalo y descomprímelo dentro de la carpeta del Eclipse, es decir, dentro en:

c:\Eclipse\proguard4.5.1\

Después ves a Window > Preferences > J2ME > Packaging > Obfuscation y selecciona el PATH adecuado tal y como puedes ver en la pantalla siguiente.

proguard-1

Una vez hecho esto ya puedes “compilar” tu aplicación ofuscándola. Para ello en lugar de hacer un “Create Package” hacemos un “Create Obfuscated Package”.

Lee el resto de esta entrada »

Etiquetas: , ,

Comments 4 Comentarios »

Como todos ya sabéis, el módem MTX65+G del que he hablado en muchas ocasiones en este blog, es un módem GPRS con GPS integrado. En su interior cuenta con un módulo Cinterion XT65, un módulo muy similar en prestaciones al conocidísimo TC65 (cpu, prestaciones, …) pero el cual incluye además un GPS. Este GPS es un módulo GPS de la casa uBlox, concretamente monta un Antaris 4.

Normalmente, cuando programamos en java el módem MTX65+G (es decir, el XT65) lo hacemos siempre de 2 maneras. O bien usamos la clase ATCommand con el comando que proporciona Cinterion (AT^SGPSR) para leer la posición GPS actual (este es el método más utilizado y en el que yo me incluyo) o bien utilizamos la API Location para J2ME (JSR 179).

Sin embargo, existe otra manera de actuar sobre el GPS. Como sabéis el módulo TC65 dispone de 2 puertos serie y el XT65 sólo dispone de 1. La razón de que sólo disponga de un puerto serie es que el otro lo tiene routeado hacia el puerto serie del módulo GPS que monta, es decir, es el puerto serie con el que el XT65 controla el GPS.

gps-nmea

Lee el resto de esta entrada »

Etiquetas: , , ,

Comments 4 Comentarios »