我想知道您认为哪种解析Java文件并自动更改变量名称,方法名称或类名称的最佳方法。我想这样做是因为我想通过改变它的一小部分来代替一些代码(上面引用的三个中的一个)。
例如,我可以拥有一个具有全局变量public static final int index = 0
的类,我想将其更改为public static final int xxx = 0
。当然,i
应该在文件的每次出现时替换为xxx
。类名或方法名也一样。
我被告知ANTLR可能对我有用,但我从未使用它,我不想浪费时间学习它,如果那时我发现它不适合我的目的。
由于
编辑: 我不需要混淆代码,我需要更改它的一小部分。上面提到的其中一个。
答案 0 :(得分:2)
如果您只需要更改一些此类标识符,那么重构(大多数IDE支持,包括Eclipse)都是简单,快速和可靠的。
如果你需要改变很多(例如,如果你试图用外语中大致相同的标识符替换英语的使用 - 例如,counter
=> compteur
),然后我个人发现自己使用了可编写脚本的东西,比如sed或Perl。我会非常小心地确保我确保匹配完全匹配(例如,将lie
更改为truth
时,我也不会更改belief' to 'betruthf
)
如果您采用自动化,一次性批量解决方案,请务必谨慎:确保您可以在之前和之后测试功能,以确保您没有破坏任何东西。
答案 1 :(得分:1)
也许最简单的方法是使用现有的代码混淆器,就像免费的Proguard一样: http://proguard.sourceforge.net/
答案 2 :(得分:1)
使用代码混淆器为您完成工作。
或者使用像Eclipse这样的IDE,它使用Refactor菜单内置了这种东西。