#Library #Debug #Dagger
Developing and Debugging on Android with DevFun от Alex Waters
Как часто в вашем коде бывает код вида:
if(BuildConfig.DEBUG) // Сделать что-то
Избавляться от этого можно разными способами. Я использую возможность размещать код в отдельных Flavor и при помощи Dependency Injection подменяю функционал в зависимости от текущего билда. Решение неудобно в поддержке 😞.
В статье ребята делятся своим решение основанным на аннотациях, кодогенерации и рефлексии. Оно позволяет вам:
👉 Вызывать функции из приложения в любое время из любого места
👉 Вызывать функции с параметрами, введенными во время работы приложения
👉 Предоставляет удобный интерфейс для дебага
👉 Подмена зависимостей Dagger 2
👉 Возможность добавление своих собственных модулей
👉 И МНОГО ВСЕГО ПРОЧЕГО
Самое классное, что ни одна строчка кода не попадет в код продакшен сборки вашего приложения!
Для тех кто любит сразу смотреть сырцы GitHub DevFun - Developer (Fun)ctions👉
Developing and Debugging on Android with DevFun от Alex Waters
Как часто в вашем коде бывает код вида:
if(BuildConfig.DEBUG) // Сделать что-то
Избавляться от этого можно разными способами. Я использую возможность размещать код в отдельных Flavor и при помощи Dependency Injection подменяю функционал в зависимости от текущего билда. Решение неудобно в поддержке 😞.
В статье ребята делятся своим решение основанным на аннотациях, кодогенерации и рефлексии. Оно позволяет вам:
👉 Вызывать функции из приложения в любое время из любого места
👉 Вызывать функции с параметрами, введенными во время работы приложения
👉 Предоставляет удобный интерфейс для дебага
👉 Подмена зависимостей Dagger 2
👉 Возможность добавление своих собственных модулей
👉 И МНОГО ВСЕГО ПРОЧЕГО
Самое классное, что ни одна строчка кода не попадет в код продакшен сборки вашего приложения!
Для тех кто любит сразу смотреть сырцы GitHub DevFun - Developer (Fun)ctions👉
Medium
Developing and Debugging on Android with DevFun
DevFun is an annotation based library aimed at Android developers to facilitate the separation, isolation, and invocation of developer and…
#Debug #Native
Debugging Native Crashes in Android Apps
По статистике на декабрь 2018 года 100 самых популярных приложений были установлены 54 миллиарда раз из 85 из них содержат нативный код.
Хотите сделать конкурента таким приложением или статью часть их команды? Без знания C/C++ уже не обойтись с ростом навыков, но любому разработчику будет полезно знать как дебажить такой код.
В статье вы найдете руководство с чего начать поиск проблемы, когда ваше приложение падает на уровне нативного кода.
Debugging Native Crashes in Android Apps
По статистике на декабрь 2018 года 100 самых популярных приложений были установлены 54 миллиарда раз из 85 из них содержат нативный код.
Хотите сделать конкурента таким приложением или статью часть их команды? Без знания C/C++ уже не обойтись с ростом навыков, но любому разработчику будет полезно знать как дебажить такой код.
В статье вы найдете руководство с чего начать поиск проблемы, когда ваше приложение падает на уровне нативного кода.
Medium
Debugging Native Crashes in Android Apps
A Simple End-to-End Example with ProGuard
👍1
#RxJava #Uber #Debug
RxDogTag 0.2.0
Библиотека, которая поможет вам легче находить где произошел крэш в вашей Rx цепочке
RxDogTag 0.2.0
Библиотека, которая поможет вам легче находить где произошел крэш в вашей Rx цепочке
GitHub
GitHub - uber/RxDogTag: Automatic tagging of RxJava 2+ originating subscribe points for onError() investigation.
Automatic tagging of RxJava 2+ originating subscribe points for onError() investigation. - uber/RxDogTag
👍1
#Debug #Tooling
Android debug tools
Разбор различных инструментов для дебага Android приложений:
👉 Android Profiler
👉 Facebook Stetho - дебаг вашего приложения из браузера Chrome
👉 DebugDrawer - боковая панель, которая позволяет конфигурировать вам различные состояния вашего приложения и просматривать статистику приложения: FPS, состояние кэша и пр.
👉 AppSpector - сервис для дебага Android и iOS . приложений, который позволяет вам выполнять все удаленно в реальном времени. Тулинг платный, с 14 днями триала 😔
Android debug tools
Разбор различных инструментов для дебага Android приложений:
👉 Android Profiler
👉 Facebook Stetho - дебаг вашего приложения из браузера Chrome
👉 DebugDrawer - боковая панель, которая позволяет конфигурировать вам различные состояния вашего приложения и просматривать статистику приложения: FPS, состояние кэша и пр.
👉 AppSpector - сервис для дебага Android и iOS . приложений, который позволяет вам выполнять все удаленно в реальном времени. Тулинг платный, с 14 днями триала 😔
Medium
Android debug tools
Debugging is one of the most important part of the software developement process…
#Debug
Beagle — A smart and reliable companion library for debugging your Android apps
Beagle - это библиотека, которая позволяет вам встраивать панель для просмотра информации о работе приложения или для того чтобы менять его настройки.
Библиотека имеет плагинную архитектуру и из коробки имеет следующие модули:
👉 Логи (не системные, а те которые вы будете логировать с помощью Beagle)
👉 Просмотр информации о приложении
👉 Сделать скриншот
👉 Информация о сетевых операциях
👉 Добавление различных виджетов: кнопок, селекторов и пр.
Beagle — A smart and reliable companion library for debugging your Android apps
Beagle - это библиотека, которая позволяет вам встраивать панель для просмотра информации о работе приложения или для того чтобы менять его настройки.
Библиотека имеет плагинную архитектуру и из коробки имеет следующие модули:
👉 Логи (не системные, а те которые вы будете логировать с помощью Beagle)
👉 Просмотр информации о приложении
👉 Сделать скриншот
👉 Информация о сетевых операциях
👉 Добавление различных виджетов: кнопок, селекторов и пр.
#Debug
Developer Options in Android
Как можно оценить производительность вашего приложения? Стандартный способ - подключить кабелем телефон к вашему компьютеру и запустить Android Studio. Потом вы можете с помощью встроенных средств IDE выполнить проверки.
Но вышеописанный способ не является единственным. Можно воспользоваться инструментов из "Developer Options" прямо на устройстве. Там вы сможете найти:
👉 Layout Inspector - отрисовка границ View на экране
👉 Simulate Display Cutout - симуляция выреза в дисплее
👉 Изменение Minimum Width (dp)
👉 Don’t Keep Activities - уничтожение Activity когда они пропадают с экрана
👉 Profile GPU Rendering - проверка успевает ли ваш UI отрисоваться и не допустить просадки 60 FPS
👉 Strict Mode
👉 Animator duration scale/Transition animation scale - настройка воспроизведения анимации
👉 Night Mode - принудительное включение темной темы
и много много других, о которы вы можете найти все подробности в статье
Developer Options in Android
Как можно оценить производительность вашего приложения? Стандартный способ - подключить кабелем телефон к вашему компьютеру и запустить Android Studio. Потом вы можете с помощью встроенных средств IDE выполнить проверки.
Но вышеописанный способ не является единственным. Можно воспользоваться инструментов из "Developer Options" прямо на устройстве. Там вы сможете найти:
👉 Layout Inspector - отрисовка границ View на экране
👉 Simulate Display Cutout - симуляция выреза в дисплее
👉 Изменение Minimum Width (dp)
👉 Don’t Keep Activities - уничтожение Activity когда они пропадают с экрана
👉 Profile GPU Rendering - проверка успевает ли ваш UI отрисоваться и не допустить просадки 60 FPS
👉 Strict Mode
👉 Animator duration scale/Transition animation scale - настройка воспроизведения анимации
👉 Night Mode - принудительное включение темной темы
и много много других, о которы вы можете найти все подробности в статье
Medium
Developer Options in Android
Every Android developer begins their journey by enabling USB debugging from Developer options page but sometimes less curious ones miss…
#Tooling #Debug
Facebook Flipper (formerly Sonar)
Flipper - это для платформа для отладки Android и iOS приложений. С помощью нее вы можете визуализировать, проверять и управлять вашими приложениями с вашего компьютера с помощью удобного графического интерфейса.
Из коробки у вас есть возможности
👉просматривать логи
👉проверять разметку и свойства View
👉навигация с помощью deep link
👉отслеживание сетевых запросов
👉просмотр данных в БД
👉просмотр загруженных изображений (пока поддерживается только Fresco)
👉Sandbox
👉Работа с SharedPreferences
👉интеграция с LeakCanary
👉перехват крэшей приложения
👉шаринг данных из Flipper для отладки их на другом устройстве
Помимо прочего Flitter имеет возможность создания собственных расширений.
Facebook Flipper (formerly Sonar)
Flipper - это для платформа для отладки Android и iOS приложений. С помощью нее вы можете визуализировать, проверять и управлять вашими приложениями с вашего компьютера с помощью удобного графического интерфейса.
Из коробки у вас есть возможности
👉просматривать логи
👉проверять разметку и свойства View
👉навигация с помощью deep link
👉отслеживание сетевых запросов
👉просмотр данных в БД
👉просмотр загруженных изображений (пока поддерживается только Fresco)
👉Sandbox
👉Работа с SharedPreferences
👉интеграция с LeakCanary
👉перехват крэшей приложения
👉шаринг данных из Flipper для отладки их на другом устройстве
Помимо прочего Flitter имеет возможность создания собственных расширений.
#AndroidStudion #Debug
Debugging in Android Studio
Любой разработчик занимался отладкой своего кода. Поэтому знать инструмент всегда стоит получше.
AndroidStudio и Logcat
👉 Настройка вывода Logcat (что показывать из логов)
👉 Фильтр нужных логов Logcat
👉 Возможность спрятать похожие логи
Возможности breakpont:
👉 Присоединение дебагера во время работы приложения
👉 Остановка на breakpoint по условию
👉 Зависимости между breakpoint
👉 Приостановка потоков
👉 Вывод лога вместо остановки выполнения программы (без добавления кода логирования в программу)
👉 Drop frame - возможность выйти из метода и вернуться в момент до его выполнения. Доступна на Android 10+
👉 Mark object - возможность пометить объект и отслеживать его, вместо того чтобы запоминать его хэш код
👉 Возможность выполнить код во время остановки
Еще стоит упомянуть опцию "Analyze stacktrace" - скопируйте стектрейс из любого места и вставьте его и вы сможете переходить по коду из него
Debugging in Android Studio
Любой разработчик занимался отладкой своего кода. Поэтому знать инструмент всегда стоит получше.
AndroidStudio и Logcat
👉 Настройка вывода Logcat (что показывать из логов)
👉 Фильтр нужных логов Logcat
👉 Возможность спрятать похожие логи
Возможности breakpont:
👉 Присоединение дебагера во время работы приложения
👉 Остановка на breakpoint по условию
👉 Зависимости между breakpoint
👉 Приостановка потоков
👉 Вывод лога вместо остановки выполнения программы (без добавления кода логирования в программу)
👉 Drop frame - возможность выйти из метода и вернуться в момент до его выполнения. Доступна на Android 10+
👉 Mark object - возможность пометить объект и отслеживать его, вместо того чтобы запоминать его хэш код
👉 Возможность выполнить код во время остановки
Еще стоит упомянуть опцию "Analyze stacktrace" - скопируйте стектрейс из любого места и вставьте его и вы сможете переходить по коду из него
Medium
Debugging in Android Studio
Discover some of the powerful debugging features available in Android Studio.
#GPU #Debug
Android GPU Inspector Open Beta
Android GPU Inspector (AGI) вышел в открытую beta. AGI - это утилита для профилирования работы GPU Android устройств для поиска узких мест в производительности графики и оптимизации производительности игр и приложений.
Android GPU Inspector Open Beta
Android GPU Inspector (AGI) вышел в открытую beta. AGI - это утилита для профилирования работы GPU Android устройств для поиска узких мест в производительности графики и оптимизации производительности игр и приложений.
Android Developers Blog
Android GPU Inspector Open Beta
Posted by Jay Kong, Gaming and Graphics Product Manager With the rollout of Android 11 on Pixel, Android GPU Inspector (AGI) has gra...
#Безопасность #Debug #ProGuard
Debugging Proguard configuration issues
Все те кто использует R8/ProGuard для обфускации и минификации своего кода как минимум раз сталкивались с тем, что приложение в релизе падает.
Автор приводит алгоритм по которому стоит искать ошибку:
1️⃣ Убедитесь что проблема связана именно с минификацией
2️⃣ Убедитесь не связана ли проблема с
3️⃣ Убедитесь не связана ли проблема с обфускацией кода
Автор также демонстрирует пример и как работает его рекомендация на практике
Debugging Proguard configuration issues
Все те кто использует R8/ProGuard для обфускации и минификации своего кода как минимум раз сталкивались с тем, что приложение в релизе падает.
Автор приводит алгоритм по которому стоит искать ошибку:
1️⃣ Убедитесь что проблема связана именно с минификацией
2️⃣ Убедитесь не связана ли проблема с
shrinkResources
3️⃣ Убедитесь не связана ли проблема с обфускацией кода
Автор также демонстрирует пример и как работает его рекомендация на практике
#Debug
Debugging Android process death
Отладить поведение вашего приложения при смерти процесса - очень полезно, чтобы оно могло восстановиться корректно на различных устройствах и пользователь не увидел этих особенностей работы Android ОС. Автор описывает стандартные способы таких проверко в adb и на устройстве
Debugging Android process death
Отладить поведение вашего приложения при смерти процесса - очень полезно, чтобы оно могло восстановиться корректно на различных устройствах и пользователь не увидел этих особенностей работы Android ОС. Автор описывает стандартные способы таких проверко в adb и на устройстве