2011-02-14 34 views
5

我有一个名为BizLogic.jar的Jar库,我在我的UI项目中提到它。所以当我混淆时,我想先混淆BizLogic.jar,然后再UI,而不会破坏它们之间的任何引用?如何在Proguard中对依赖.jar进行obfucate?

Proguard可能吗?如果没有,任何其他可以支持此功能的产品?

感谢

+2

查看这里的答案:http://stackoverflow.com/questions/820261/obfuscating-jar-files-with-other-jar-files-embedded – 2011-02-14 11:42:44

回答

9

最强大的解决方案将是处理在同一时间两个罐子,但保持输出在单独的罐子:

-injars UI.jar 
-outjars UI_processed.jar 
-injars BizLogic.jar 
-outjars BizLogic_out.jar 

或与输出目录

-injars UI.jar 
-injars BizLogic.jar 
-outjars out 

UI代码和业务代码将保持一致。

或者,您也可以申请增量混淆:

1)首先处理BizLogic.jar这些附加选项:

-printmapping BizJar.map 
-dontoptimize 
-useuniqueclassmembernames 

2),然后用此附加选项处理UI.jar:

-applymapping BizJar.map 

增量混淆更为复杂,有时很难得到正确的结果。

所有这些以及更多内容在ProGuard manual中进行了解释。