我在應用程序中進行了廣泛的日誌記錄以簡化調試,但我希望確保只有最低限度進入生產應用程序。我的理解是,編譯器不會刪除未使用的代碼,也沒有使用Android進行條件編譯,但Proguard會刪除未使用的代碼。下面是一個示例跟蹤類:如何將日誌記錄添加到Proguard剝離的Android Java應用程序中?
public class Trace
{
public static final int logginglevel = 5;
public static final boolean errors = logginglevel > 1;
public static final boolean warnings = logginglevel > 2;
public static final boolean info = logginglevel > 3;
public static final boolean debug = logginglevel > 4;
}
然後在應用程序本身的日誌是這樣的:
if (Trace.debug) Log.d(TAG,"problem")
將允許Proguard的標識使用的語句,並刪除這個成功嗎?這個說法很醜陋,但它是最短的,我可以看到它可以。
是否有更簡潔的方式在Android應用程序中包含日誌記錄,但是是否已自動剝離出生產版本?我懷疑有可能配置Proguard本身來刪除代碼的特定方面,但不知道這是否是比這更好的解決方案。