混淆包含注释的类

时间:2012-02-02 09:28:31

标签: java annotations obfuscation

当混淆.class文件时,会删除注释。有没有办法混淆这些文件(包含注释的文件)而不删除它们。有没有办法混淆未编译的.java文件以保留注释,如果可能的话?


java编译器如何处理注释以及它们保存在何处?为什么在混淆之后删除了所有注释。在混淆了课程之后,我不能带回注释并将它们放回原位以便工作吗?

2 个答案:

答案 0 :(得分:2)

我询问并研究了注释和混淆,我发现了以下内容:

  1. 注释保存在类字节代码的元部分中 并且很难操纵它们。混淆程序不处理此类
  2. 我尝试了很多混淆器 - 商业和开源 那些,但它们都不能混淆那些有注释的类 他们所有的领域和方法都有注释
  3. 我能想到的唯一方法就是使用配置的xml 文件而不是注释

答案 1 :(得分:0)

我们通常使用proguard对已编译的类进行模糊处理,我很确定,不可能对未编译的.java文件进行模糊处理,因为它正在处理字节码本身。

要保留注释,您可以告诉proguard保留注释等特定属性。您可以在example chapter中找到更多信息。我建议使用proguardGui为混淆过程构建自己的配置文件。