Googleによると、AndroidアプリをGoogle Playに公開する前に、「ソースコードのLogメソッドへの呼び出しを無効にする」必要があります。公開チェックリストのセクション3からの抜粋:
リリース用のアプリケーションをビルドする前に、ロギングを非アクティブにし、デバッグオプションを無効にしてください。ソースファイルのLogメソッドの呼び出しを削除することで、ロギングを非アクティブ化できます。
私のオープンソースプロジェクトは大きく、リリースするたびに手動で行うのは面倒です。さらに、ログ行の削除は、たとえば次のようにトリッキーになる可能性があります。
if(condition)
Log.d(LOG_TAG, "Something");
data.load();
data.show();
Log行をコメントにすると、条件が次の行に適用され、load()が呼び出されない可能性があります。そのような状況は、私がそれが存在するべきではないと判断できるほどまれなものですか?
それで、それを行うためのより良いソースコードレベルの方法はありますか?または、すべてのログ行を効率的かつ安全に削除するための巧妙なProGuard構文ですか?
sed 's_^\(\s*Log\.\)_;//'`date|tr -s \ -`'\1_g'
代わりに使用することをお勧めします。