Pregunta

Estoy usando la antena para construir, empaquetar y ofuscar una aplicación J2ME. Construcción y embalaje funciona bien.

El proyecto utiliza una tercera parte frasco que ya está ofuscado, excepto por algunas interfaces.

Cuando se trata de ofuscar Tengo varios errores como:

[wtkobfuscate] Warning: i: can't find referenced class fooPackage.fooClass

Clase I y fooPackage.fooClass es de esta tercera jarra partido que he mencionado.

Actualizar

Esta biblioteca tercera parte utiliza J2ME-xmlrpc.jar. Si no empaquetar todos juntos, entonces no voy a ser capaz de ocultar las interfaces de 3 ª parte y el J2ME-xmlrpc.jar. (Y no puedo ejecutar la aplicación de esta manera, no sé por qué)

Si Empaqueto sólo el J2ME-xmlrpc.jar y mis clases de proyectos consigo el este error al ofuscar

[wtkobfuscate] Warning: there were 2 instances of library classes depending on program classes.

ACTUALIZACIÓN 2:

Sé que esto es posible ofuscación pd en Netbeans que pueda hacer uso de la ofuscación Proguard.

Desde internos Netbeans utiliza ANT para hacer que construye Traté de copiar el build.xml generada a mi propia build.xml.

Para ofuscación Netbeans utiliza la biblioteca de org-netbeans-módulos-movilidad-antext.jar que puede ser utilizado fuera de Netbeans. Importé esta biblioteca para mi proyecto y lo utilizó sin problema.

Pero consigo el mismo error me está usando una antena.

Ofuscar en Netbeans genera una gran cantidad de advertencias pero todavía genera el frasco ofuscado.

¿Qué me falta?

¿Fue útil?

Solución 2

Yo estaba utilizando Proguard 4.3. Degradación a Proguard 4,2 resuelto el problema.

Otros consejos

Si se ofusca la biblioteca 3 ª parte, no incluyen esa biblioteca, mientras que ofuscar sus clases. Más bien seguir estos pasos

  1. Jar sus clases solo (No incluye biblioteca de tercera parte)
  2. Ofuscación el frasco obtenido en la etapa 1
  3. unjar el frasco ofuscado obtenido en el paso 2 y la biblioteca tercera parte de alguna carpeta temporal
  4. Jar todas las clases unjared
  5. Preverify y empaquetarlas de nuevo

trate de usar jshrink. Tengo mucho mejores resultados con ella luego con Proguard:

                    <java jar="obfuscator\jshrink.exe" fork="true">
                        <arg value="..\${projectdir}\${projectname}.jar"/>
                        <arg value="-classpath"/>
                        <arg pathref="project.class.path"/>
                        <arg value="-keep"/>
                        <arg value="${midletclass}"/>
                        <arg value="-o"/>
                        <arg value="..\${projectdir}\${projectname}.jar"/>
                    </java>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top