2013-01-07 64 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