Comment faire pour supprimer tous la journalisation du débogage des appels avant la construction de la version d'une application Android?

Selon Google, je dois "désactiver tous les appels à des méthodes de Log dans le code source" avant de publier mon application Android sur Google Play. Extrait de l'article 3 de la publication de la liste de contrôle:

Assurez-vous de désactiver la journalisation et de désactiver l'option de débogage avant de vous construire votre demande de mise en liberté. Vous pouvez désactiver la journalisation en supprimant les appels aux méthodes du Journal dans vos fichiers source.

Mon projet open-source est grande et il est pénible d'avoir à le faire manuellement à chaque fois que je la libération. En outre, la suppression d'une ligne de Journal est potentiellement difficile, par exemple:

if(condition)
  Log.d(LOG_TAG, "Something");
data.load();
data.show();

Si je commente la ligne du Journal, alors la condition s'applique à la ligne suivante, et les chances sont load() n'est pas appelée. Sont de telles situations assez rare pour que je puisse décider qu'il ne devrait pas exister?

Alors, est-il un meilleur niveau de code source façon de le faire? Ou peut-être quelques petits malins ProGuard syntaxe de manière efficace, mais en toute sécurité supprimer toutes les lignes du Journal?

  • +1 parce que je ne me souviens pas de cela a été la publication de la liste de contrôle.
  • Pour commenter une non-bloqué ligne, j'utilise ";//" au lieu de "//".
  • Si vous avez besoin d'être en mesure d'annuler cette, vous aurez probablement besoin d'utiliser sed 's_^\(\s*Log\.\)_;//'`date|tr -s \ -`'\1_g' à la place.
  • Double Possible: stackoverflow.com/q/2018263/2291
  • Le lien que Dimitar ajoutée ne fonctionne plus. J'ai trouvé ceci au lieu de cela source.android.com/source/code-style.html#log-sparingly.
  • c'est pourquoi il est recommandé de ne pas utiliser si l'instruction sans {}, en particulier lorsque vous vous déplacez d'expression à la ligne suivante; utiliser le Sonar Luc.
  • Est-il un impact sur les performances est la journalisation est ou cette remarque est sur la question de la sécurité uniquement à des fins d'?
  • Probablement pour les performances, surtout de nos jours, mais sur les anciennes versions d'Android, il dispose de prestations de la sécurité de trop.