Безопасно ли оставлять Log.i в рабочей среде?

В моем приложении для Android я широко использую Log.i, Log.e.

В этих командах я обычно передаю запросы SQLite или http остальные URL-адреса, которые взаимодействуют с моим приложением.

Мой вопрос: безопасно ли хранить эти журналы, когда приложение попадает в магазин Play? Если пользователь запускает приложение со своим устройством, подключенным к его компьютеру, сможет ли он просматривать сообщения журнала на своем LogCat?


person antoniom    schedule 02.04.2014    source источник
comment
если вы оставите его, конечно, пользователи смогут его увидеть.   -  person Blackbelt    schedule 02.04.2014
comment
да, пользователи могут читать эти сообщения журнала в logcat   -  person sabadow    schedule 02.04.2014
comment
интересный вопрос ... оба безопасны в игровом магазине и да, могут видеть   -  person Akarsh M    schedule 02.04.2014
comment
Что вы делаете в блоках исключений, храните ли вы там log.e для регистрации исключений или также избавляетесь от них?   -  person Jasper    schedule 11.07.2015


Ответы (4)


Если пользователи подключают устройство к компьютеру и читают logcat, они могут видеть все сообщения журнала, которые генерирует ваше приложение.

Возможным решением является использование Proguard для автоматического удаления всех сообщений журнала.

Дополнительная информация об этом ответе: Как настроить proguard ТОЛЬКО удалить вызовы журнала Android

Надеюсь, поможет.

person sabadow    schedule 02.04.2014
comment
Прогард не проверял. Я дам ему попробовать. В случае успеха я приму ответ :) - person antoniom; 02.04.2014

Да, пользователь сможет читать эти файлы журналов. Это безопасно'? Зависит от. Являются ли ваши остальные вызовы или запросы sqlite секретом? В любом случае все сетевые сообщения могут быть прочитаны, например, с помощью wireshark.

Когда я выпускаю свои приложения, я делаю следующее: я создаю свой собственный класс Log с методами i, d, e и т. д. и использую этот класс Log вместо класса Android, потому что тогда я могу использовать простой переключатель, такой как boolean debug = true, в соответствии с которым я пишу к LogCat или нет. Таким образом, я могу оставить все свои отчеты журнала в приложении. Когда вы написали свой собственный класс Log, чтобы использовать его во всем приложении, вы можете просто заменить все

import android.util.Log; 

с участием

import your.package.Log; 

с Эклипс.

person fweigl    schedule 02.04.2014
comment
То, что вы предлагаете, это то, о чем я думал на случай, если это небезопасно. Тем не менее, прогард, предложенный Сабадоу и Шажилом Афзалом, кажется более привлекательным. - person antoniom; 02.04.2014

Ведение журнала — очень удобный метод отладки и диагностики, используемый разработчиками. Используйте класс ведения журнала, предоставляемый как часть Android SDK, для записи важной информации о вашем приложении в LogCat, но обязательно проверьте реализацию ведения журнала вашего приложения перед публикацией, поскольку ведение журнала имеет недостатки в производительности.

Прежде чем выпускать приложение, внимательно просмотрите свой журнал, чтобы не произошло утечки конфиденциальных данных.

Ведение журнала очень важно, когда ваше приложение находится в режиме тестирования. Журналы предоставят вам текущее состояние и сценарий вашего приложения на текущем устройстве. Так что это очень полезно, когда вы будете обновлять свое приложение.

Иногда Google play отклоняет ваше приложение, если обнаруживает, что ваш механизм ведения журнала нарушает правила.

person Lavekush Agrawal    schedule 02.04.2014

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

И вам не нужно удалять обратные вызовы журнала один за другим в вашем проекте. Вы можете использовать Proguard для автоматического удаления методов журнала, просто написав несколько строк в proguard-project.txt в корне вашего проекта.

Следуйте этому ответу, чтобы удалить методы ведения журнала с помощью proguard

person Shajeel Afzal    schedule 02.04.2014
comment
Почему это не будет безопасно? Я имею в виду, что если ваш байт-код работает на чужом компьютере, вы должны исходить из того, что от него ничего нельзя скрыть. - person Gareth Davidson; 02.04.2014