Laut Google muss ich " alle Aufrufe von Protokollierungsmethoden im Quellcode deaktivieren ", bevor ich meine Android-App bei Google Play veröffentliche. Auszug aus Abschnitt 3 der Publikations-Checkliste :
Stellen Sie sicher, dass Sie die Protokollierung deaktivieren und die Debugging-Option deaktivieren, bevor Sie Ihre Anwendung für die Freigabe erstellen. Sie können die Protokollierung deaktivieren, indem Sie Aufrufe von Protokollmethoden in Ihren Quelldateien entfernen.
Mein Open-Source-Projekt ist groß und es ist mühsam, es jedes Mal manuell zu machen, wenn ich es veröffentliche. Darüber hinaus ist das Entfernen einer Protokollzeile möglicherweise schwierig, z. B.:
if(condition)
Log.d(LOG_TAG, "Something");
data.load();
data.show();
Wenn ich die Protokollzeile kommentiere, gilt die Bedingung für die nächste Zeile, und es besteht die Möglichkeit, dass load () nicht aufgerufen wird. Sind solche Situationen selten genug, dass ich entscheiden kann, dass sie nicht existieren sollten?
Gibt es eine bessere Möglichkeit, dies auf Quellcode-Ebene zu tun? Oder vielleicht eine clevere ProGuard-Syntax, um alle Protokollzeilen effizient, aber sicher zu entfernen?
sed 's_^\(\s*Log\.\)_;//'`date|tr -s \ -`'\1_g'
stattdessen verwenden.