За словами Google, я повинен " деактивувати будь-які дзвінки до методів журналу у вихідному коді ", перш ніж публікувати свій додаток Android в Google Play. Витяг із розділу 3 контрольного списку публікацій :
Переконайтеся, що ви відключили ведення журналу та відключили параметр налагодження перед тим, як створити свою програму для випуску. Ви можете відключити ведення журналу, видаливши дзвінки до методів журналу у вихідних файлах.
Мій проект з відкритим кодом великий і болю робити це вручну щоразу, коли випускаю. Крім того, видалити рядок журналу потенційно складно, наприклад:
if(condition)
Log.d(LOG_TAG, "Something");
data.load();
data.show();
Якщо я коментую рядок Журналу, то умова застосовується до наступного рядка, і шанси, що load () не викликається. Чи такі ситуації досить рідкісні, що я можу вирішити, що вони не існують?
Отже, чи є кращий спосіб на рівні вихідного коду це зробити? А може, якийсь розумний синтаксис ProGuard для ефективного, але безпечного видалення всіх ліній журналу?
sed 's_^\(\s*Log\.\)_;//'`date|tr -s \ -`'\1_g'
натомість.