0

使用 yguard 我混淆了一个项目,我想知道是否可以在建筑物外包含文件以仅接收库和函数新命名模式?

例如,我混淆了类 com.MyClass.MyInternalClasses 并且在我的项目之外我有文件 mysql.java 并且在 mysql.java 内部我使用了 MyInternetClasses 中的一些类,但是由于我对其进行了混淆,因此名称已更改为否则我们说 com.AB

因此,它会读取该 java 文件并替换其上更改的所有混淆名称的名称。

或者最好的方法是什么?

4

1 回答 1

0

通常,该方法是混淆代码的主要部分,但不混淆公共接口 - 您使用keep元素指定它们。这样,代码的用户就不需要知道混淆了。如果你发现你的公共接口包含你想要混淆的代码,那么一个小的重新设计(使用一些委托,或者创建一个最小的公共外观)应该能够让你将公共与“秘密”分开。

另一种方法是使用map元素手动指定要在外部使用的接口的重命名,然后您可以更改调用代码以使用这些名称。yGUARD 应用的重命名已被记录,因此您可以从那里提取名称 - 但这开始变得混乱。

于 2010-11-28T09:25:35.563 回答