Secondo Google, devo " disattivare tutte le chiamate ai metodi Log nel codice sorgente " prima di pubblicare la mia app Android su Google Play. Estratto dalla sezione 3 dell'elenco di controllo della pubblicazione :
Assicurarsi di disattivare la registrazione e disabilitare l'opzione di debug prima di compilare l'applicazione per il rilascio. È possibile disattivare la registrazione rimuovendo le chiamate ai metodi Log nei file di origine.
Il mio progetto open source è ampio ed è una seccatura farlo manualmente ogni volta che lancio. Inoltre, rimuovere una linea di registro è potenzialmente complicato, ad esempio:
if(condition)
Log.d(LOG_TAG, "Something");
data.load();
data.show();
Se commento la riga Log, la condizione si applica alla riga successiva e le probabilità che load () non venga chiamata. Tali situazioni sono abbastanza rare da poter decidere che non dovrebbe esistere?
Quindi, esiste un modo migliore a livello di codice sorgente per farlo? O forse una sintassi intelligente di ProGuard per rimuovere in modo efficiente ma sicuro tutte le linee di registro?
sed 's_^\(\s*Log\.\)_;//'`date|tr -s \ -`'\1_g'
invece.