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.
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”.
Pues sí, ha funcionado, pero me canta un error.
Eso es porque debes especificar una ruta completa a un JDK y probablemente lo tengas a un JRE. Cámbialo, para ello ves a Window > Preferences > Java > Installed JREs y selecciona el directorio al JDK adecuado, en mi caso:
Espero que os sea de utilidad. Ahora me voy a dormir que he de coger fuerzas para mañana, pues estoy temblando de miedo con lo que me espera. Mi hijo delebra mañana su 5º cumpleaños y Sonia ha invitado a sus amiguitos a casa. Lo que iba a ser en principio 2 ó 3 amiguitos fueron luego 5 ó 6, días después 7 u 8 y hoy me dice la friolera de 12 ó 13. También me ha enseñado contenta la merienda que les tiene preparada. No podían ser bocadillos de jamón no, pues tiene preparado un sinfín de bollitos de esos rellenos de muuuucho chocolate. (Ay mis sofás, paredes …). En fin, creo que me quedaré en la planta de arriba de mi casa (donde tengo mis ordenadores) vigilando para que ningún comando de mocosos intente hacer alguna incursión en este área restringida.
Post relacionados:
- Compresión de archivos con J2ME en módems GPRS Siemens TC65 En muchas aplicaciones con módems GPRS es necesario almacenar datos...
- Optimizando aplicaciones J2ME (I) – Memoria No es lo mismo realizar aplicaciones para un Core 2...
- Optimizando aplicaciones J2ME (II) – Creación de objetos El otro día empecé unos capítulos de optimización de aplicaciones...
- Compresión de archivos con J2ME en módems GPRS Siemens TC65 – II Hace unas semanas puse un post sobre compresión de archivos...
- Memoria Ram y Flash de los módems TC65 y XT65 Últimamente me han preguntado bastante en relación a la memoria...
Etiquetas: cinterion, j2me, java
Y en Netbeans 6.9 que pasos seguirías?
Hola Jose,
lo siento, no lo sé, yo sólo uso Eclipse.
Salu2
Hola Jose,
La imagen primera, ¿no se corresponde con lo que escribes no?:”Después ves a Window > Preferences > J2ME > Packaging > Obfuscation y selecciona el PATH adecuado tal y como puedes ver en la pantalla siguiente.”
Esque estoy intentando hacerlo pero no se que path es el adecuado, ¿me puedes ayudar?.
Muchas gracias de antemano por todo tu ayuda.
Saludos.
Hola Álvaro, sí corresponde,
pues es el directorio donde tengas instalado el JDK. Tendrás que buscarlo en tu PC, en el mío es C:\Archivos de programa\Java\jdk1.5.0_15
Salu2!!!