次のコードでproguardを実行すると、Loggingステートメントが削除されます。
Log.d(TAG, "field= "+field+“ : enhancedfield=”+enhancedfield);
しかし...コンパイル後、これが表示されます:
Log.d(TAG, new StringBuilder().append("Field= ").append(field)
.append(“ : enhancedfield=”).append(enhancedfield).toString());
これでプロガードを実行すると、残り物が発生します。
new StringBuilder().append("Field= ").append(field)
.append(“ : enhancedfield=”).append(enhancedfield).toString();
これは潜在的なハッカーに情報を漏らします...
何ができますか:aを宣言しfinal static boolean
、値が。の場合にのみログに記録しますtrue
。この値はコンパイル時に決定できるため、値がfalseの場合、ロギングコードは含まれません。しかし、それは私のコードを汚すので、私はそれにそれほど満足していません。
今私の質問:どうすればこの動作を改善できますか?残り物を減らし、情報の漏洩を減らしますか?