2014-10-21 73 views
0

我如何告訴ProGuard不要這樣做?避免使用ProGuard直接翻譯「public static final」

In Class A 
    Toast.makeText(getApplicationContext(), Utility.NO_SESSION, 0).show(); 
-> with ProGuard <-- 
    Toast.makeText(getApplicationContext(), "Please login", 0).show(); 

In Class Utility 
    public static final String NO_SESSION = "Please login"; 
-> with ProGuard <-- 
    this string does not even exist 

這只是使事情變得更容易閱讀

+1

你到底想達到什麼目的?這種行爲是proguard的一點,如果你不喜歡它,你爲什麼使用proguard? – Okas 2014-10-21 21:11:03

+0

如果您希望編譯的代碼在反編譯後易於閱讀,只需禁用Proguard即可。 Proguard的目的是最小化,優化和混淆編譯後的應用程序。 – 2014-10-21 21:12:36

+0

我認爲他們在說proguard使得通過內聯常量更容易閱讀。 – weston 2014-10-21 21:13:24

回答

0

這真的讓某人試圖讀取反向工程代碼是否要查找一個常數或它的內嵌沒有區別。

但是,如果你願意,你可以添加:

-keep class your.package.Utility { public static *; } 

要將proguard-project.txt