Pregunta

Mi tarro de aplicación contiene las clases de swing-layout.jar que contiene el controlador de distribución libre para Java 1.5. Durante el proceso de ofuscación que consigo una gran cantidad de advertencias tales como

[proguard] Note: org.jdesktop.layout.SwingLayoutStyle accesses a field 'INDE
NT' dynamically                                                             
 [proguard]       Maybe this is program field 'org.jdesktop.layout.LayoutStyl
e { int INDENT; }'   

Me gustaría PROGUARD dejar org.jdesktop clases solo, y deshacerse de las advertencias que probamos

      -keeppackagenames org.jdesktop.*

pero no hizo el trabajo?

¿Fue útil?

Solución

¿Quieres, creo,

-keep org.jdesktop.**

Tenga en cuenta que las dos estrellas. Desde el documentación :

*   matches any part of a name not containing the package separator or directory separator.
**  matches any part of a name, possibly containing any number of package separators or directory separators.

-keeppackagenames sólo sigue ... nombres de los paquetes! ¿Quieres -keep, que protege los nombres de las cosas en paquetes.

Otros consejos

vieja pregunta, pero

-keep org.jdesktop.**

no funcionaba aquí con Proguard 4,6 - necesidad de añadir:

-keep class org.jdesktop.**

Por si alguien tropieza con esta cuestión tal como lo hice.

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