I want to obfuscate only some packages:
com.foo.*
com.bar.*
I have tried
-keepclasseswithmembers class **, !com.foo.**, !com.bar.** { *; }
and
-keepclasseswithmembers class !com.foo.** { *; }
-keepclasseswithmembers class !com.bar.** { *; }
In both cases the classes from com.foo.* and com.bar.* was NOT obfuscated.
This should work
-keep class !com.foo.**,!com.bar.** { *; }
You can find a summary of the various -keep options at http://proguard.sourceforge.net/manual/usage.html#keepoverview
You can find the explanation of ProGuard's regular expressions at http://proguard.sourceforge.net/manual/usage.html#filters