2011-09-29 16 views
15

Necesito evitar que Proguard ofusque cualquier clase del paquete com.foo.*.¿Cómo evitar que procure opacar todo el paquete?

que he intentado:

-keep com.foo.** { 
    <fields>; 
    <methods>; 
    <constructors>; 
} 

Pero Proguard dice:

Error: Unexpected keyword 'com.sun.foo.**' in line 32 of file 'obfuscationConfig.pro', included from argument number 1

me sale un error similar si intento keep name com.foo** o keep * com.foo.**.

+0

¿Alguna vez a averiguar por qué esto le estaba dando "palabra clave inesperado"? Estaba usando algo similar y solía funcionar, pero he estado recibiendo el mismo error recientemente. – speedynomads

Respuesta

30

intenta utilizar el siguiente:

-keep class com.foo.** { 
    public protected private *; 
} 
+0

¿Esto no lo mantendrá todo? – tomwhipple

+0

@tomwhipple mantendrá todo en el paquete 'com.foo' (y subpaquetes) – Idolon

+4

... la respuesta es" Sí ", para evitar la ofuscación del miembro privado del paquete debe agregar una nueva línea en el bloque,' *; ' Que abominación odiosa para el usuario. – nmr

Cuestiones relacionadas