Android скрывает логи в приложении при загрузке в маркет - PullRequest
3 голосов
/ 05 марта 2012

В моем приложении много Log.i ();операторы добавлены для отладки.Теперь, если такое приложение должно быть загружено на рынок

  1. Если эти журналы будут удалены, и если да, есть более простой способ, чем ручное удаление

  2. Если не удалить, будут ли эти журналы поступать, если приложение запускается пользователем после установки с маркета

(я пытался просмотреть журналы для некоторых приложений и не мог видетьлюбые журналы из приложений. Я мог видеть только журналы Android, как из диспетчера активности. Но я не понимаю, почему журналы не будут отображаться, если они не удалены из кода)

Ответы [ 2 ]

4 голосов
/ 05 марта 2012

Preetha, журналы будут храниться на телефоне, и любой пользователь / разработчик может проверить их, установив такие приложения, как Catlog , даже не используя adb! Это проблема, поскольку вы предоставляете ненужные, а порой и конфиденциальные данные пользователям / другим разработчикам.

Простой способ решить эту проблему?

а. Используйте Proguard , чтобы автоматически заблокировать все журналы, дополнительную информацию см. В этой теме потока стека

Здесь вы можете автоматически заблокировать все журналы на уровне байт-кода в Proguard

-assumenosideeffects class android.util.Log {
    public static int v(...);
}

Приведенное выше, например, удалит все подробные записи, больше в этой теме

б. Я использую if (DEBUG) Log.i для всех моих журналов, так что с одним изменением логического DEBUG я могу включить / выключить все журналы

с. Тривиальное решение: замените все Log.i на //Log.i:)

2 голосов
/ 05 марта 2012

Да, хорошей практикой является удаление всех методов журнала, вызванных во время тестирования,

И да, когда пользователь загружает приложение, оно будет показывать ему все журналы, которые вы сделали.

Что вы можете сделать, это создать static Class с static методом в этом классе,

когда вам захочется сделать запись в журнале, просто вызовите этот метод из любого места по ClassName.Method

И как только вы закончите тестирование, просто COMMENT Определение в статическом методе написано в классе Static.

...