Proguard: How to keep everything except specific condition?
proguard
Solution
To keep everything except classes in your own package you can use the rule that you already pointed out (excluding the brackets):
-keep class !my.package.name.** { *; }
This will implicitly keep everything else. You still can add additionally -keep rules for your classes if needed.
The rule for the -dontwarn should work in a similar way:
-dontwarn !my.package.name.**,**
You can also add similar -dontnote rules if needed.
Problem
I'm using Proguard to obfuscate my code, and I need to keep every third party libraries like: ``` -keep class com.layer.** -dontwarn com.layer.** -keep class com.twitter.** -keep class android.support.** -keep class com.crashlytics.** { *; } -dontwarn com.crashlytics.** ... ``` And whenever I add a new third party library, I need to check its package name and add it to my proguard config file, or the app may crashes. Can't I write the rule just like this? I don't care about codes that's not mine. ``` -keep class !(my.package.name.**) -dontwarn !(my.package.name.**) ``` Thanks!