Według Google muszę „ dezaktywować wszelkie wywołania metod rejestrowania w kodzie źródłowym ” przed opublikowaniem mojej aplikacji na Androida w Google Play. Wyciąg z sekcji 3 listy kontrolnej publikacji :
Przed skompilowaniem aplikacji do wydania należy wyłączyć rejestrowanie i opcję debugowania. Można dezaktywować rejestrowanie, usuwając wywołania metod rejestrowania w plikach źródłowych.
Mój projekt typu open source jest duży i trudno go robić ręcznie za każdym razem, gdy go wypuszczam. Ponadto usunięcie wiersza dziennika jest potencjalnie trudne, na przykład:
if(condition)
Log.d(LOG_TAG, "Something");
data.load();
data.show();
Jeśli komentuję wiersz dziennika, wówczas warunek dotyczy następnego wiersza, a szanse, że load () nie zostaną wywołane. Czy takie sytuacje są na tyle rzadkie, że mogę zdecydować, że nie powinny istnieć?
Czy istnieje lepszy sposób na zrobienie tego na poziomie kodu źródłowego? A może sprytna składnia ProGuard, aby skutecznie, ale bezpiecznie usuwać wszystkie wiersze dziennika?
sed 's_^\(\s*Log\.\)_;//'`date|tr -s \ -`'\1_g'
zamiast tego.