使用Yguard,我正在解决一个项目,我想知道是否可以在建筑物外包含文件以仅接收库和功能新的命名模式?

例如,我在com.myclass.myinternalclasses和我的项目之外,我有文件mysql.java和Mysql.java。否则假设com.ab

因此,它要做的就是阅读Java文件并更换所有混淆名称的名称。

还是最好的选择是什么?

有帮助吗?

解决方案

通常的方法是混淆代码的主要大部分,但请毫不掩饰地将公共接口留下 - 您可以使用它们指定它们 保持 元素。这样,代码的用户就不必意识到混淆。如果您发现自己的公共接口包含您希望混淆的代码,那么一个小的重新设计(使用一些委托,或创建最小的公开外观),应该使您能够将公众与“秘密”分开。

另一种选择是使用 地图 要手动为要外部使用的接口指定重命名的元素,然后您可以更改使用这些名称的调用代码。 Yguard应用的命名名称已记录,因此您可以从那里提取名称 - 但这开始变得凌乱。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top