Pregunta

Una parte importante del desarrollo móvil, especialmente cuando se habla de juegos móviles, es lidiar con las restricciones de tamaño de las aplicaciones.Algunos dispositivos imponen sus propios límites de tamaño, mientras que todos los operadores tienen sus propios requisitos de tamaño para las aplicaciones que se lanzarán en su espacio de cubierta.

Mi pregunta es: ¿existe alguna aplicación de ofuscación de Java que obtenga mejores resultados de reducción de tamaño que otras aplicaciones de ofuscación de Java que existen?

Utilizo Proguard porque es el ofuscador predeterminado de Netbeans y puedes obtener resultados de reducción de tamaño bastante buenos (por cierto, la versión de Proguard que viene con Netbeans 6.1 es 3.7.Hay versiones más nuevas que obtienen resultados aún mejores, recomiendo obtener la última).Pero me interesa saber qué más hay disponible y si hacen un mejor trabajo que Proguard.

Mi conclusión:

Agradezco las respuestas.Carlos, tu respuesta fue suficiente para convencerme de que Proguard es el camino a seguir actualmente.Todavía puedo estar convencido de lo contrario, pero no me siento mal con mi configuración actual.

También he tenido algunos problemas con la ofuscación y ejecución de proguard en algunos teléfonos, pero no demasiados.Siempre pude solucionar el problema al no utilizar el argumento de Proguard "-overloadaggressively".Es algo que debe tener en cuenta si experimenta un comportamiento extraño relacionado con la ofuscación.

Gracias de nuevo.

¿Fue útil?

Solución

Cuando se trata de J2ME y ofuscación, vale la pena ser un poco cauteloso.Proguard es la mejor opción debido a los muchos años que lleva en desarrollo y las numerosas correcciones de errores que ha recibido.Recuerdo la transición de versión entre 2.X y 3.X y cómo rompió muchas de las compilaciones de mi (entonces) empleador.Esto sucedió porque algunos de los cambios que permitieron ahorrar más tamaño también rompieron los archivos de clase de manera sutil en algunos teléfonos, mientras que estaban perfectamente bien en otros y en las JVM de escritorio.

Hoy en día, Proguard 3.11 es la opción más segura en ofuscadores.4.XX probablemente esté bien si no tienes que admitir teléfonos muy antiguos.

Otros consejos

También prefiero ProGuard tanto por su reducción de tamaño como por su amplitud de ofuscación; consulte http://proguard.sourceforge.net/.No necesariamente tengo restricciones de tamaño aparte de las velocidades de descarga, pero no he encontrado nada que se reduzca aún más.

Es extraño que nadie haya recordado que ProGuard no sólo puede reducir y ofuscar el código, sino también optimizarlo.Las últimas versiones permiten especificar varios pasos para la optimización (por defecto hay un solo paso), puedo especificar, digamos, 9 pasos.

Después de descompilar mis clases, apenas puedo reconocerlas, ProGuard reestructura muchas llamadas a métodos.Todo lo que necesitas es modificar un poco esta maravillosa aplicación.Así que creo que ProGuard es el camino a seguir, pero no olvides ajustarlo un poco.También tiene una muy bonita manual.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top