0

作为这个问题的答案(在 Java 中的单独行中指定的 URL 不会发出编译时错误。为什么?)指出您可以在代码上添加代码标签而不会出现编译错误。

更重要的是,使用 http:// 将起作用,因为它将被视为代码标签和注释。

所以我在想...

我可以在带有 proguard的代码中添加一些随机代码标签(包括 url)以 使其更不可读吗?

当然我可以手动添加它们,但这将是一个很好的解决方案,因为它会污染原始代码,以及我想要的只是发布编译代码。

我想在 Android 应用程序上执行此操作,这就是我专注于 proguard(Android 混淆的开箱即用解决方案)的原因。

4

2 回答 2

1

您可以检查 AspectJ,它允许在构建期间创建字节码的自定义修改。但是我不会那样做。您是否检查过 java 反编译器是否显示您的 URL?您最好优化您的混淆,以使明文中的内容尽可能少。

于 2013-01-07T17:26:46.247 回答
0

不,这样的标签根本不会影响编译的代码。

标签(无论是“http:”还是“somelabel:”)不会出现在编译的代码中,甚至不会作为调试信息出现。它仅在与break语句结合使用时才有用。

注释(无论是“//www.example.com/path”还是“//somecomment”)都不会被编译。仅澄清源代码才有用。

由于 java 字节码不代表标签或注释,ProGuard 也不能添加它们。ProGuard 也不会添加不必要的 goto 语句

于 2013-01-08T13:00:12.117 回答