2013-01-07 65 views
0

由于此问题的答案(A URL specified in a separate line in Java doesn't issue compile-time errors. Why?)声明您可以在代码中添加代码标签,而不存在编译错误。使用proguard混淆代码时添加代码标签

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

所以我想......

我可以添加一些随机码标签(包括网址)的代码使用ProGuard,使其更不易阅读

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

我想在Android应用上做到这一点,这就是为什么我专注于proguard(一种开箱即用的Android混淆解决方案)。

回答

0

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

标签(即“http:”或“somelabel:”)不会显示在编译的代码中,甚至不会显示为调试信息。它仅与break陈述结合使用。

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

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

+0

这是正确的信息..但不是我问的。我只问过proguard是否可以添加这样的虚拟标签。 – neteinstein

+0

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

1

您可以检查AspectJ,它允许在构建期间创建字节代码的自定义修改。 但我不会那样做。你检查过,如果Java反编译器显示你的网址? 您可以更好地优化混淆,以尽可能减少明文形式。

+0

您是对的。它可能会缩进代码,所以它很重要。这只是为了好玩:-) – neteinstein