2011-09-29 5 views
15

Devo impedire a Proguard di offuscare qualsiasi classe dal pacchetto com.foo.*.Come impedire a proguard di offuscare l'intero pacchetto?

ho provato:

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

Ma Proguard dice:

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

ottengo un errore simile se provo keep name com.foo** o keep * com.foo.**.

+0

Hai mai scoprire perché questo si stava dando "parola chiave imprevisto"? Stavo usando qualcosa di simile e funzionava, ma di recente ho ricevuto lo stesso errore. – speedynomads

risposta

30

tenta di utilizzare il seguente:

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

Questo non manterrà tutto? – tomwhipple

+0

@tomwhipple manterrà tutto nel pacchetto 'com.foo' (e sottopackages) – Idolon

+4

... la risposta è" Sì ", per impedire l'offuscamento dei membri privati ​​del pacchetto è necessario aggiungere una nuova riga nel blocco,' *; ' Che abominio odioso per l'utente. – nmr