2015-04-06 58 views
0

我想只能用proguard混淆一部分類,但由於proguard似乎主要是爲了混淆所有內容而設計的,除了黑名單之外,我很困難。如何用Proguard否定類名稱

然而,proguard manual確實說:

爲了進一步增強靈活性,類名稱實際上是類名的逗號分隔的列表,可選!否定器,就像文件名過濾器一樣。這種表示法看起來不像Java那樣,所以它應該用於審覈。

但是沒有這方面的例子。

我想這一點:

-keep class !**.licence.** {*;} 
-keep class !**.*Licence*.** {*;} 

但也不工作。如果我刪除了!,模式本身也可以工作(除上述以外,所有其他其他都會被混淆)。我也嘗試過使用方法定義({*;}刪除),但仍然不起作用。

有沒有人有任何類名稱negators的例子?是否有另一種方法告訴proguard只模糊特定的類/包模式(不使用代碼內註釋)?

回答

1

我終於明白了我自己的想法。否定必須都在一條線上,如下所示:

-keep class !ca.nanometrics.**.licence.**,!ca.nanometrics.**.*Licence*{*;} 
+0

謝謝你,先生,這對我來說非常合適。 – Inverce

相關問題