Segundo o Google, devo " desativar todas as chamadas para métodos de registro no código-fonte " antes de publicar meu aplicativo Android no Google Play. Trecho da seção 3 da lista de verificação da publicação :
Certifique-se de desativar o log e desativar a opção de depuração antes de criar seu aplicativo para liberação. Você pode desativar o log removendo chamadas para métodos de log em seus arquivos de origem.
Meu projeto de código aberto é grande e é difícil fazê-lo manualmente toda vez que eu for lançado. Além disso, a remoção de uma linha de log é potencialmente complicada, por exemplo:
if(condition)
Log.d(LOG_TAG, "Something");
data.load();
data.show();
Se eu comentar a linha de log, a condição se aplica à próxima linha e as chances são de que load () não seja chamado. Essas situações são raras o suficiente para que eu possa decidir que não deveria existir?
Então, existe uma maneira melhor de fazer isso no nível do código fonte? Ou talvez alguma sintaxe inteligente do ProGuard para remover com eficiência, mas com segurança, todas as linhas de log?
sed 's_^\(\s*Log\.\)_;//'`date|tr -s \ -`'\1_g'
.