2011-09-29 15 views
15

Muszę uniemożliwić Proguard zamazywanie jakichkolwiek klas z pakietu com.foo.*.Jak powstrzymać proguard przed zaciemnianiem całego pakietu?

Próbowałem:

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

Ale PROGUARD mówi:

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

uzyskać podobny błąd, gdy próbuję keep name com.foo** lub keep * com.foo.**.

+0

Czy kiedykolwiek dowiedzieć się, dlaczego ta została daje „Nieoczekiwane słowa kluczowego”? Używałem czegoś podobnego i kiedyś działało, ale ostatnio dostaję ten sam błąd. – speedynomads

Odpowiedz

30

Spróbuj użyć następujących:

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

Czy to wszystko nie wystarczy? – tomwhipple

+0

@tomwhipple zachowa wszystko w pakiecie 'com.foo' (i podpakietach) – Idolon

+4

... odpowiedź brzmi" Tak ", aby zapobiec zaciemnianiu człony pakietu prywatnego należy dodać nową linię w bloku,' *; ' Cóż za nienawistna nienawiść do użytkownika. – nmr

Powiązane problemy