class 路径前的感叹号在 ProGuard 中有什么作用?

What does the exclamation mark before class path do in ProGuard?

我正在研究 Proguard,但我对感叹号感到困惑!在设置中的class路径之前,如:

-保持class!android.support.v7.view.menu.{*;}**

这个“!”是什么意思?做?这是否意味着混淆器不会保留此 class?但如果是这样,为什么我们需要它,因为混淆器会混淆所有 classes?

意思是一样的!在许多其他编程语言中的意思。它否定后面的选择。因此,在您的示例中,keep 指令将应用于以下 package/class 选择中 not 的所有内容。