Tag log что это на андроид - TurboComputer.ru
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд (пока оценок нет)
Загрузка...

Tag log что это на андроид

MTKLogger на Android – функции и возможности программы

MTKLogger – это Android-приложение для сбора ошибок, работающее в фоновом режиме. Встроено в некоторые телефоны Android, в частности, в мобильные телефоны и планшеты, которые имеют физические компоненты MediaTek (компания, которая продаёт полупроводники). Вы можете деактивировать приложение, не будучи пользователем root, и удалить его, если вы являетесь пользователем root.

Что такое mtklogger

При этом в панели уведомлений появляется сообщение «MTKLogger is running», которое возвращается после каждой перезагрузки. Избавиться от навязчивого напоминания удаётся не всем, для этого на Андроиде необходимо отключить или удалить MTKLogger. Для стабильной работы системы приложение не требуется, и, если вы хотите, вы можете удалить или отключить его, следуя инструкциям, описанным ниже. MTKLogger – это приложение, отвечающее за мобильный, сетевой, системный журналы и журнал модема. Обеспечивает возможность использования всех логов в одном пользовательском интерфейсе. MTKLogger с именем пакета com.mediatek.mtklogger имеет компоненты, доступные любому приложению, которое находится на устройстве. А именно, компоненты приложения com.mediatek.mtklogger.framework.LogReceiver и com.mediatek.mtklogger.framework. Эти компоненты можно использовать для запуска и остановки журналов. Доступные журналы – журнал GPS, журнал модема, сетевой и мобильный журнал. Базовым каталогом, содержащим папки для всех 4 журналов, является /sdcard/mtklog. Поэтому директория доступна для приложений, которым требуется разрешение READ_EXTERNAL_STORAGE.

  • Android Log (Журнал Android) – основной журнал android; сохраняется, пока параметр Mobile Log активен.
  • Kernel Log (Журнал ядра) – журнал ядра; сохраняется, пока параметр Mobile Log активен.
  • Bluetooth Log (Журнал Bluetooth) – журнал Bluetooth сохраняется, пока активен Mobile Log.
  • Limit Current Log Size (Ограничить текущий размер журнала) – максимальный размер журнала Mobile Log для этой сессии.
  • Limit Total Log Size (Ограничить общий размер журнала) – общий размер журнала, включая текущие и сохранённые записи Mobile Log.
  • Start Automatically (Автозапуск) – автозапуск Mobile Log.
  • Log Mode (Режим журнала) – режим восстановления журналов, обычно SD.
  • Limit Log Size (Предельный размер журнала) – общий размер папки Modem Log.
  • Start Automatically (Автозапуск) – автозапуск Modem Log.

  • Enable environment check (Включить проверку среды) – включите для проверки текущего состояния сетевого подключения. Если параметр активен, он при необходимости пропингует 2 IP для подтверждения состояния сетевого подключения.
  • Enable package limitation (Включить ограничение пакета) – ограничить размер каждого пакета Network Log.
  • Limited package size (Ограниченный размер упаковки) – ограничения для каждого сетевого пакета.
  • Limit Log Size (Предельный размер журнала) – общий размер папки Network Log.
  • Start Automatically (Автозапуск) – автозапуск Network Log.
  • Enable Tag Log (Включить журнал тегов) – включите для проверки текущего состояния сетевого подключения. Если параметр активен, он при необходимости пропингует 2 IP для подтверждения состояния сетевого подключения.
  • Log storage location (Место хранения журнала) – включите, чтобы ограничить размер каждого пакета Network Log.
  • Run Command (Команда запуска) – установите размер ограничения для каждого сетевого пакета.

Чтобы очистить все предыдущие журналы, нажмите на значок корзины, выберите «Удалить все» и подтвердите действие ОК. Чтобы извлечь файлы журналов, подключите устройство к компьютеру с помощью USB-кабеля. Перейдите в /storage/mtklog/ и скопируйте файлы с устройства на ПК.

Кому и для чего нужно приложение MTKLogger

MTKLogger – это программа-функция, которая сохраняет все события и действия, выполненные пользователем, при этом занимая всё свободное место в памяти смартфона или на SD-карте. Необходимо только в том случае, если вы этого хотите. MTKLogger можно безопасно отключить и удалить. Это не повлияет на ваше устройство. После удаления приложения может потребоваться отключить функцию регистрации в вашем телефоне, чтобы предотвратить очередное накопление событий журнале в MTKLogger. Программа по сути является кейлоггером. Кейлоггер, иногда называемый регистратором нажатий клавиш или системным монитором, представляет собой тип технологии наблюдения, используемый для мониторинга и записи каждого нажатия клавиши, набранного на клавиатуре конкретного компьютера. Программное обеспечение типа Keylogger также доступно для использования на смартфонах, таких как устройства Apple iPhone и Android.

Злоумышленники часто используют такие утилиты в качестве инструмента-шпиона для кражи персональной информации, учётных данных для входа и конфиденциальной корпоративной информации. Регистраторы кейлоггеров могут также использоваться работодателями для наблюдения за компьютерной деятельностью сотрудников, родителями для контроля за использованием Интернета их детьми, пользователями для отслеживания возможной несанкционированной активности на их устройствах или правоохранительными органами для анализа инцидентов, связанных с кибератаками.

Аппаратный кейлоггер – это небольшое устройство, которое служит коннектором между клавиатурой и ПК (экраном и смартфоном). Девайс подключается через обычный разъем PS/2 или USB-адаптер, благодаря чему спрятать такое устройство для получения конфиденциальных данных несложно. Аппаратный кейлоггер может также иметь форму модуля, который устанавливается внутри самой клавиатуры. Когда пользователь печатает на клавиатуре, кейлоггер собирает каждое нажатие клавиши и сохраняет его как текст на своём собственном миниатюрном жёстком диске, который может иметь до нескольких гигабайт памяти. Чтобы получить доступ к собранной информации, злоумышленнику необходимо позже вернуться и физически удалить устройство. Существуют также беспроводные клавиатурные шпионы, которые могут перехватывать и дешифровать пакеты данных, передаваемые между беспроводной клавиатурой и её приёмником.

Программа для создания кейлогинга Bottom of Form для установки не требует физического доступа к компьютеру пользователя. Приложение может запускаться и работать скрытно, чтобы избежать ручного обнаружения или антивирусного сканирования. Программа кейлоггера обычно состоит из двух файлов, которые устанавливаются в одном каталоге: файл библиотеки динамической компоновки (DLL), который выполняет всю запись, и исполняемый файл, который устанавливает файл DLL и запускает его в работу. Программа записывает каждое нажатие клавиши и периодически загружает информацию через Интернет. Некоторые кейлоггеры способны сохранять и другие данные, например, буфер обмена или создание снимков экрана.

Нужно ли оставлять mtk logger обычному пользователю

Вероятность того, что MTKLogger является вредоносным ПО, невелика. Поэтому особо переживать по этому поводу не стоит. Если приложение никак не даёт о себе знать и не мешает обычной работе смартфона, отключать или удалять его не обязательно. К сожалению, удаление программы является единственным способом избавиться от навязчивого всплывающего при перезагрузке сообщения и индикатора в шторке уведомлений «MTKLogger is running».

Как отключить приложение MTKLogger

Для отключения MTKLogger необходимо перейти в инженерное меню смартфона.

Способ 1

  1. На клавиатуре номеронабирателя введите *#*#3646633#*#* и нажмите Вызов.
  2. Откроется окно системных настроек. Слайдом вправо перейдите в раздел «Log and Debugging» и выберите «MTKLogger».
  3. После этого появится окно настроек приложения. Здесь необходимо отключить несколько параметров, а именно: «MobileLog», «ModemLog», «NetworkLog» и «Enable Tag Log».
  4. Чтобы отключить функции, просто кликните по ним.

После этого сообщение MTKLogger больше не появится.

Способ 2

  1. Откройте панель уведомлений и нажмите на сообщение «MTKLogger is running».
  2. В нижней части открывшегося окна нажмите на маленький красный квадрат, чтобы остановить MTKL
  3. После этого в том же окне нажмите на значок корзины, чтобы удалить данные MTKL
  4. Выберите «Очистить все», чтобы удалить данные всех журналов, затем подтвердите действие, нажав ОК.
  5. Откройте номеронабиратель и введите *#9527*#.
  6. В открывшемся меню кликните кнопку DM.
  7. Введите RD personnel password: 54321.
  8. Если значение DM равно «1», нажмите «ОК», после чего DM изменится на «0».
  9. Если цвет кнопки DM изменился с зелёного на красный, нажмите «Close» и подтвердите действие «Sure».
  10. После перезагрузки приложение будет удалено.

Удалите MTKLogger как пользователь root

Если вы уже получили права root, вы можете удалить MTKLogger, установив приложение «Root Uninstaller».

  1. Скачайте бесплатное приложение в Google Play. Программа предназначена для удаления других приложений. Её функционал также позволяет удалять предустановленные системные утилиты.
  2. Запустите «Root Uninstaller» и найдите приложение, которое вы хотите удалить. Если вы не хотите удалять MTKLogger, программу можно заморозить, чтобы она не засоряла систему.

Права root открывают довольно много новых возможностей, и реализовать их можно не только через Root Uninstaller. Например, то же самое можно сделать с помощью альтернативного, но более сложного в использовании приложения Root Explorer.

Tag log что это на андроид

Для начала приведу информацию относительно памяти телефона найденую мною на одном из сайтов.

    1. RAM (ОЗУ)

RAM (ОЗУ) — это память «с произвольным доступом», то есть т.н. оперативная память, куда программное обеспечение (ПО) записывает и считывает информацию быстро (и без эмуляции). Содержимое оперативной памяти очистится при пропадании питания, например, если телефон выключить. Объём оперативной памяти решает, сколько приложений можно запускать одновременно, или как большой файл может быть загружен в память для работы (просмотр, редактирование и т.д.). Возможна ошибка «Недостаточно памяти», если память исчерпана и не получается запустить программу. Android 2.2 знает, какие приложения можно убрать из RAM, когда необходимо. До Android 2.2, максимум 256 Мб оперативной памяти поддерживалось.

    2. ROM (ПЗУ)
Читайте также:  Отсутствует Binkw32 dll что делать

ROM (ПЗУ) — это память только для чтения (Read-Only Memory). То, что в ней хранится, никогда не может быть изменено (записывается однократно на при изготовлении телефона); и ROM (ПЗУ) хранит данные даже без питания.

В Android-телефоне ROM разбита на несколько разделов. Одна часть для ОС (операционной системы). Раздел ОС защищён, и вы не сможете писать в него без прав root. Root — это получение прав супер-пользователя операционной системы, тогда будет можно читать/писать в разделе ОС, например, заменить образ ОС (что, таким образом, позволяет использовать несколько разных операционных систем).

    3. Internal phone storage («Внутренняя память телефона»)

Internal phone storage («Внутренняя память телефона») — это вторая часть памяти, предназначенная для пользовательских данных, включая загруженные приложения и их сохраненные данные (из RAM). В Android 2.2, она монтируется в /mnt/asec, и в котором — apk-файлы загруженных приложений. Поэтому этот вид памяти называют Internal phone storage («Ёмкость внутренней памяти телефона»). Этот раздел подобен компьютерному внутреннему HDD (диску «С:» у Windows или «file system» у Ubuntu/Linux). Свободного пространства в Internal phone storage («Внутренняя память телефона») становится меньше, когда вы устанавливаете больше приложений. Это место можно проверит так: «Настройки» -> «SD-карта и память телефона» -> «Внутренняя память» (Internal storage). Может наступить момент, когда уже нельзя установить приложения — когда на Internal phone storage («Внутренняя память телефона») слишком мало свободного пространства; тогда нужно удалить ненужные программы.

    4. MicroSD / SDHC / SDXC . (есть и смартфоны без слота для карты)

Это единственный тип памяти, которую пользователь может расширить. Он аналогичен внешнему жесткому диску (External HDD) для компьютера. МикроSD монтируется в /etc/SDCARD на телефоне. Эту память можно увидеть в разделе «Настройки» -> «SD-карта и память телефона» -> «SD карта».

На MicroSD-карте можно хранить любые данные в виде файлов (фильмы, музыку, фотографии и так далее). По сути, можно использовать телефон в качестве т.н. «флэшки», то есть в качестве микроSD-карты. В Android 2.2 часть установленных приложений можно перенести из «Внутренняя память» (Internal storage) сюда — на SD-карту; следовательно, это экономит драгоценное пространство «Внутренней памяти» (Internal storage). Но не все приложения могут быть перемещены из «Внутренней памяти» на карту памяти SD. Поэтому даже добавление большой SD-карты не поможет, если «Внутренняя память» близка к заполнению.

При желании заменть SD-карту (например, на другую с большей пропускной способностью), не забудьте отключить («отмонтировать») текущую SD-карту, прежде чем физически вынимать её: «Настройки» -> «SD-карта и память телефона» -> «SD карта» -> «Отключить SD-Card» (ведь Android основан на Linux-е). Вставленная новая SD-карта будет автоматически установлена («примонтирована»).

Я не являюсь специалистом ни по OS Android, ни по Linux, поэтому простите мне ошибки в названиях и неточности в тексте.
Так вот, приобрели мы моей жене замечательный телефон «Samsung Galaxy Ace» под управлением OS Android. Приобрели его под моим настоянием, т.к. я, до этого немного сталкивался с «Android, и вариант с IOS, Windows и прочими Simbian категорически отвергал. Замечательный оказался телефончик, отзывчивый экран, шустрый процессор, понятная OS, всё восторгало. И я, как «специалист», принялся его всячески улучшать, устанавливать одни программы, удалять другие, экспериментировать с настройками, играть в игрушки, лазить в интернет. Всё супер!
Прошёл месяц такого активного творчества. И вдруг, появилось сообщение «память телефона заполнена». Ну заполнена так заполнена — не придал значения я, освободим, и удалил данные у какой то программы. Помогло, и продолжилось мучение телефона.
Прошло какое-то время, сообщение появилось снова, ну я по проторенной дороге удалил данные у другой программы, затем несколько программ. Помогло.
Прошло какое то время, сообщение появилось снова! Я в настройки – «Очистить ОЗУ» — всё ОК. Ненадолго, увы.

Залез в интернет, скачал программы по очистке памяти –очищают, но сообщение остаётся. Залез в интернет, начал разбираться, выяснил, что не хватает места в Internal storage («Внутренняя память»), а все эти программы чистят RAM (ОЗУ) и для решения моей проблемы не пригодны. Сообщение «Память заполнена» вылезало при заполненности внутренней памяти телефона более 160 из 181 Мб.
Начал искать за..лей памяти Internal storage, выяснил, что это обновления Карт Google и данные Android Market. Запретил картам обновляться, перестал пользоваться Marketом. Временно помогло.

Начал удалять всё подряд, нужное, не нужное. Постепенно удалил почти всё, включая Google Maps, Android Market, Skype, и много другого, чего наустанавливал ранее (осталась только любимая игрушка жены Lines). Всё помогало временно, сообщение в конце концов вылезало снова, а удалять было больше нечего, осталось только самое необходимое.
Жена пилит – «Всё ты, со своими экспериментами»

Залез в интернет, выяснил, что доступ к Internal storage можно получить имея root права. Станцевал с бубном в течении примерно часов 10, получил на телефоне root права. Как? – не помню. В форуме всё написано, но либо у меня уже мозги не те, либо на форуме пишет народ с не теми мозгами :rolleyes:
С помощью программы Link2SD, перенёс часть программ на карту SD. Это хорошо почистило память. Хватило примерно на месяц. Через месяц СМС опять не приходят.

Начал настраивать себя на снос и переустановку системы, всё не решался >-)
Залез в интернет, выяснил, что есть такие временные файлы с расширением rm. Нашёл их в папке datalocaltmp c помощью программы RootExplorer, удалил – помогло не надолго (объём их был около 3 Мб).
Залез в папку data основательно, прошерстил её различными способами. Нашёл кучу файлов с расширением log, в названии которых присутствует слово error и название различных программ, в том числе тех, которые я удалил давно. Размер каждого из них составлял около 2 Mb, а количество – около 30 шт. Удалил их все. И, о чудо, внутренняя память заполнена 62 Мб из 181 (и телефон работает). Надолго ли? Посмотрим, такое ощущение что чистить надо постоянно.

5 приложений, которые нужно удалить с Andro >

Погодные приложения, оптимизаторы, дефолтный браузер — от этого всего лучше избавиться.

Facebook и другие социальные сети

Социальная сеть Facebook является сегодня самой популярной в мире, поэтому неудивительно, что соответствующее мобильное приложение установлено у огромного количества пользователей. Мобильный клиент позволяет вам получать уведомления о новых лайках, постить фотки своей еды и всегда оставаться на связи с друзьями. Однако взамен это приложение потребляет огромное количество системных ресурсов и значительно уменьшает срок работы мобильного гаджета от батареи. Согласно ежегодному отчёту App Report 2015 AVG Android App Report, именно мобильный клиент Facebook занимает верхние строчки в хит-параде самых прожорливых программ на платформе Android.

Альтернатива. Используйте мобильную версию Facebook в любом современном браузере. Функциональность отличается ненамного, зато отсутствуют раздражающие уведомления и стремительно тающая батарея.

The Weather Channel и другие погодные приложения

The Weather Channel — отличный пример того, как на самой простой функции — отображении прогноза погоды — разработчики умудряются выстроить целый мегакомбайн. Здесь вы увидите и анимированные обои, и метеорологические карты, и букет интерактивных виджетов, и бог знает что ещё. Всё это хозяйство сидит в оперативной памяти устройства, каждые пять минут стучится в интернет и, разумеется, самым бессовестным образом съедает заряд вашей батареи.

Альтернатива. Выгляните в окошко — вы получите гораздо более надёжную информацию, чем то, что показывает виджет рабочего стола. Если необходим прогноз, то Google предоставит вам самое надёжное предсказание на неделю вперёд.

AntiVirus FREE и другие антивирусные программы

Дискуссия о том, нужны ли антивирусные программы на устройствах под управлением Android, иногда бывает довольно горячей. Я придерживаюсь мнения, что если вы не получаете root-права на устройстве и не устанавливаете взломанные программы из сторонних сомнительных источников, то антивирус вам не нужен. Компания Google бдительно следит за содержимым своего магазина и моментально удаляет из него все потенциально опасные элементы, поэтому всегда активный мониторинг антивируса будет только зря тормозить ваш смартфон или планшет.

Альтернатива. Если возникли всё-таки сомнения в здоровье гаджета, то установите антивирус, просканируйте, а затем удалите его.

Clean Master и другие оптимизаторы системы

Вера в чудеса является самой главной движущей силой для распространения разных «очистителей» и «оптимизаторов». Мол, сотни лучших программистов Google не смогли довести свою систему до ума, а вот этот изобретатель-одиночка взял и сделал! Спешим вас расстроить: большинство подобных приложений либо вообще ничего не делают, либо наносят только вред. Очистить кэш, удалить остатки старых программ можно и встроенными системными инструментами. Очистка же памяти на самом деле только замедляет запуск программ и работу Android вместо обещанного создателями утилит ускорения системы.

Читайте также:  Что значит DNS сервер недоступен

Альтернатива. Используйте имеющиеся в Android инструменты для очистки кэша приложений. Забудьте об оптимизации памяти.

Дефолтный браузер

Заключение

Кто-нибудь может сказать, что String.format и определение источника — долгие операции, а поэтому так писать не надо. Могу возразить, что при выпуске продакшен-версии вызовы логов можно (и нужно) отключать (с помощью флага ENABLED или с помощью Proguard), так что на производительность они не повлияют.

Ещё есть мысль, что в андроиде вполне юзабелен log4j. Возможно. Но добавление библиотеки, функциональность которой никак не пригодится пользователю, — более чем сомнительное решение. А логи Андроида с описанной доработкой вполне себе ничего.

Перед публикацией удалите все сообщения об ошибках отладки: есть ли инструменты для этого?

По словам Google, перед публикацией приложения для Android я должен «деактивировать любые вызовы методов журнала в исходном коде». Выдержка из раздела 5 контрольного списка публикации :

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

Мой проект с открытым исходным кодом большой, и это больно делать это каждый раз при каждом выпуске. Кроме того, удаление строки журнала потенциально сложно, например:

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

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

android logging proguard android-log

21 ответ

400 Решение Christopher Orr [2010-03-18 02:30:00]

Я нахожу гораздо более легкое решение — забыть все проверки if по всему месту и просто использовать ProGuard, чтобы вычеркнуть любой метод Log.d() или Log.v() вызывается, когда мы вызываем наш Ant release target.

Таким образом, у нас всегда есть информация об отладке, которая выводится для регулярных сборок и не требует каких-либо изменений кода для релизов. ProGuard также может выполнять несколько проходов по байт-коду для удаления других нежелательных операторов, пустых блоков и может автоматически включать короткие методы, если это необходимо.

Например, здесь очень простая конфигурация ProGuard для Android:

Таким образом, вы сохраните это в файле, а затем вызовите ProGuard из Ant, передав ваш JAR-код и JAR-платформу Android, которую вы используете.

См. также примеры в руководстве ProGuard.

Обновление (4,5 года спустя): В настоящее время я использовал Timber для ведения журнала Android.

Не только это немного лучше, чем реализация по умолчанию Log — тег журнала устанавливается автоматически, и легко записывать отформатированные строки и исключения — но вы также можете указать различные способы ведения журнала во время выполнения.

В этом примере заявления о регистрации будут записываться только в logcat в отладочных сборках моего приложения:

В моем методе Application onCreate() устанавливается Timber:

Тогда где-нибудь еще в моем коде я могу легко записывать:

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

101 Reiner [2011-01-04 14:12:00]

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

Итак, решение, которое я использую, заключается в замене класса android.util.Log моим собственным классом журнала:

Единственное, что мне нужно было сделать во всех исходных файлах, это заменить импорт android.util.Log с моим собственным классом.

55 hackbod [2010-03-15 18:35:00]

Я предлагаю иметь статическое булево значение, указывающее, следует ли записывать:

Затем, где бы вы ни захотели войти в свой код, просто выполните следующее:

Теперь, когда вы установите MyDebug.LOG в false, компилятор вычеркнет весь код внутри таких проверок (так как это статический финал, он знает во время компиляции, что код не используется.)

Для больших проектов вы можете захотеть начать с булевых в отдельных файлах, чтобы иметь возможность легко включать или отключать ведение журнала там, где это необходимо. Например, это различные константы ведения журнала, которые у нас есть в диспетчере окон:

Читайте также:  DDR3 или DDR4 что лучше для игр

С соответствующим кодом типа:

Решение Christopher Proguard является лучшим, но если по какой-либо причине вам не нравится Proguard, вот очень низкотехнологичное решение:

Ограничение состоит в том, что ваши команды ведения журнала не должны охватывать несколько строк.

(Выполняйте эти строки в оболочке UNIX в корне вашего проекта. Если вы используете Windows, получите уровень UNIX или используйте эквивалентные команды Windows)

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

Чтобы сделать assumenosideeffects в работах Proguard, есть предпосылка.

В вашем файле gradle вы должны указать использование proguard-android-optimize.txt в качестве файла по умолчанию.

Собственно, в файле proguard-android.txt по умолчанию оптимизация отключается с помощью двух флагов:

Файл proguard-android-optimize.txt не добавляет эти строки, поэтому теперь может работать assumenosideeffects .

Тогда, лично, я использую SLF4J, тем более, когда я разрабатываю некоторые библиотеки, которые распространяются среди других. Преимущество состоит в том, что по умолчанию нет выхода. И если интегратор хочет получить некоторые выходные данные журнала, он может использовать Logback для Android и активировать журналы, поэтому журналы могут быть перенаправлены в файл или в LogCat.

Если мне действительно нужно разбить журналы из последней библиотеки, я затем добавлю в свой файл Proguard (после того, как, конечно, включил файл proguard-android-optimize.txt ):

8 JosephL [2013-03-30 07:52:00]

Я использовал класс LogUtils, как в примере приложения Google IO. Я изменил это, чтобы использовать константу DEBUG для конкретного приложения вместо BuildConfig.DEBUG, потому что BuildConfig.DEBUG ненадежна. Затем в моих классах у меня есть следующее.

7 Zvi [2011-07-28 02:46:00]

Я бы рассмотрел использование roboguice средство ведения журнала вместо встроенного android.util.Log

Их средство автоматически отключает отладочные и подробные журналы для релизов. Кроме того, вы бесплатно получаете отличные функции (например, настраиваемое поведение ведения журнала, дополнительные данные для каждого журнала и т.д.)

Использование proguard может быть довольно сложным, и я не стал бы испытывать проблемы с настройкой и сделать его работать с вашим приложением, если у вас нет веских оснований для этого (отключение журналов не является хороший)

6 Richard [2013-12-06 16:21:00]

Per android.util.Log предоставляет способ включения/отключения журнала:

По умолчанию метод isLoggable (. ) возвращает false, только после того, как вы установили propro в устройстве, понравилось это:

Это означает, что любой журнал выше уровня DEBUG может быть распечатан. Ссылка на андроид:

Проверяет, зарегистрирован ли журнал для указанного тега на указанном уровне. Уровень по умолчанию для любого тега установлен к ИНФО. Это означает, что любой уровень выше и включая INFO будет журнал. Прежде чем делать какие-либо вызовы методу ведения журнала, вы должны проверить чтобы проверить, должен ли ваш тег регистрироваться. Вы можете изменить уровень по умолчанию установив системное свойство: ‘setprop log.tag. ‘ Где уровень — VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT или SUPPRESS. SUPPRESS отключит все записи для вашего тега. Ты можешь также создайте файл local.prop, который содержит в себе следующее: ‘log.tag. =’ и поместите это в /data/local.prop.

Таким образом, мы можем использовать пользовательский журнал:

Я настоятельно рекомендую использовать Timber от Jake Wharton

он решает вашу проблему с включением/отключением плюс добавляет класс тега автоматически

будут использоваться только в вашем debug ver, а затем используйте

«Ваш класс /msg » без указания тега

4 Simon [2016-03-21 20:29:00]

Я отправляю это решение, которое применяется специально для пользователей Android Studio. Я также недавно обнаружил Timber и успешно импортировал его в свое приложение, выполнив следующее:

Поместите последнюю версию библиотеки в свой build.gradle:

Затем в Android Studios откройте Edit → Find → Replace in Path.

Введите Log.e(TAG, или, тем не менее, вы определили свои сообщения журнала в текстовое поле «Text to find» . Затем вы просто замените его на Timber.e(

Нажмите «Найти», а затем замените все.

Android Studios теперь рассмотрит все ваши файлы в вашем проекте и заменит все журналы журналами.

Единственная проблема, с которой я столкнулась в этом методе, состоит в том, что gradle выводит миллион сообщений об ошибках, потому что не может найти «Timber» в импорте для каждого из ваших java файлов. Просто нажмите на ошибки, и Android Studios автоматически импортирует «Timber» в вашу java. После того, как вы сделаете это для всех ваших файлов ошибок, gradle снова скомпилируется.

Вам также нужно поместить этот фрагмент кода в свой onCreate метод вашего класса Application :

Это приведет к регистрации в приложении только тогда, когда вы находитесь в режиме разработки, но не в производстве. Вы также можете иметь BuildConfig.RELEASE для входа в режим освобождения.

Это то, что я использовал для своих проектов Android.

В Android Studio мы можем выполнить аналогичную операцию с помощью Ctrl + Shift + F для поиска из всего проекта (Command + Shift + F в MacOs) и Ctrl + Shift + R для замены ((Command + Shift + R в MacOs) )

2 kg_sYy [2014-12-20 21:38:00]

У меня очень простое решение. Я использую IntelliJ для разработки, поэтому детали меняются, но идея должна применяться во всех IDE.

Я выбираю корень моего исходного дерева, щелкните правой кнопкой мыши и выберите «заменить». Затем я выбираю заменить все «Log» . с «//Log.». Это удаляет все операторы журнала. Чтобы вернуть их позже, я повторяю ту же замену, но на этот раз заменяю все «//Log». с «Log» .

Хорошо работает для меня. Не забудьте установить замену как чувствительную к регистру, чтобы избежать несчастных случаев, таких как «Диалог». Для дополнительной гарантии вы также можете сделать первый шаг с помощью «Log» . как строку для поиска.

2 Youngjae [2016-06-21 09:57:00]

Древесина очень приятная, но если у вас уже есть существующий проект, вы можете попробовать github.com/zserge/log. Это замена для android.util.Log и большая часть функций, которые имеет Timber и даже больше.

его библиотека журналов предоставляет простой переключатель включения/отключения журнала, как показано ниже.

Кроме того, требуется только изменить строки import , и ничего не нужно изменять для оператора Log.d(. ); .

1 eranga [2017-04-02 16:37:00]

Добавьте следующий файл proguard-rules.txt

1 Alex Cohn [2017-05-29 15:19:00]

Если вы можете запустить глобальную замену (один раз) и после этого сохранить некоторое соглашение о кодировании, вы можете следовать шаблону, часто используемому в Android framework.

используйте его как

Теперь proguard может удалить StringBuilder и все строки и методы, которые он использует на этом пути, из оптимизированного выпуска DEX. Используйте proguard-android-optimize.txt , и вам не нужно беспокоиться о android.util.Log в вашем proguard-rules.pro :

С плагином Android Studio gradle BuildConfig.DEBUG достаточно надежный, поэтому вам не нужны дополнительные константы для управления дескрипцией.

1 danwms [2012-03-29 13:12:00]

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

1 Max Gold [2013-03-26 10:39:00]

ProGuard сделает это для вас в вашей сборке релизов, и теперь хорошие новости от android.com:

Инструмент ProGuard сжимает, оптимизирует и обфускает ваш код, удаляя неиспользуемый код и переименовывая классы, поля и методы с семантически неясными именами. В результате получается меньший размер .apk файла, который сложнее перестроить. Поскольку ProGuard упрощает работу с вашим приложением, важно, чтобы вы использовали его, когда ваше приложение использует функции, чувствительные к безопасности, например, когда вы лицензируете свои приложения.

ProGuard интегрирован в систему сборки Android, поэтому вам не нужно ссылаться на нее вручную. ProGuard запускается только при создании вашего приложения в режиме выпуска, поэтому вам не нужно иметь дело с запутанным кодом при создании приложения в режиме отладки. Прогон ProGuard полностью необязателен, но рекомендуется.

В этом документе описывается, как включать и настраивать ProGuard, а также использовать инструмент retrace для декодирования обфускационных трасс стека

Мне нравится использовать Log.d(TAG, некоторая строка, часто String.format()).

TAG всегда является именем класса

Transform Log.d(TAG, → Logd (в тексте вашего класса

Таким образом, когда вы готовы создать версию выпуска, установите для параметра MainClass.debug значение false!

Я знаю, что это старый вопрос, но почему вы не заменили все свои логические вызовы чем-то вроде Boolean logCallWasHere = true;//— остальная часть вашего журнала здесь

Вот почему вы узнаете, когда захотите вернуть их, и они не повлияют на ваш оператор if:)

0 sylwano [2016-12-12 13:42:00]

Журналы можно удалить с помощью bash в linux и sed:

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

самый простой способ:

Все журналы отключены DebugLog при отпускании приложения.

Ссылка на основную публикацию
Adblock
detector