Android Broadcast
14.2K subscribers
3.52K photos
340 videos
11 files
5.89K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @ab_manager

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#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👉
#Debug #Native

Debugging Native Crashes in Android Apps

По статистике на декабрь 2018 года 100 самых популярных приложений были установлены 54 миллиарда раз из 85 из них содержат нативный код.

Хотите сделать конкурента таким приложением или статью часть их команды? Без знания C/C++ уже не обойтись с ростом навыков, но любому разработчику будет полезно знать как дебажить такой код.

В статье вы найдете руководство с чего начать поиск проблемы, когда ваше приложение падает на уровне нативного кода.
👍1
#Debug #Tooling

Android debug tools

Разбор различных инструментов для дебага Android приложений:
👉 Android Profiler
👉 Facebook Stetho - дебаг вашего приложения из браузера Chrome
👉 DebugDrawer - боковая панель, которая позволяет конфигурировать вам различные состояния вашего приложения и просматривать статистику приложения: FPS, состояние кэша и пр.
👉 AppSpector - сервис для дебага Android и iOS . приложений, который позволяет вам выполнять все удаленно в реальном времени. Тулинг платный, с 14 днями триала 😔
#Debug

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 - принудительное включение темной темы

и много много других, о которы вы можете найти все подробности в статье
​​#Tooling #Debug

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" - скопируйте стектрейс из любого места и вставьте его и вы сможете переходить по коду из него
#GPU #Debug

Android GPU Inspector Open Beta

Android GPU Inspector (AGI) вышел в открытую beta. AGI - это утилита для профилирования работы GPU Android устройств для поиска узких мест в производительности графики и оптимизации производительности игр и приложений.
#Безопасность #Debug #ProGuard

Debugging Proguard configuration issues

Все те кто использует R8/ProGuard для обфускации и минификации своего кода как минимум раз сталкивались с тем, что приложение в релизе падает.

Автор приводит алгоритм по которому стоит искать ошибку:
1️⃣ Убедитесь что проблема связана именно с минификацией
2️⃣ Убедитесь не связана ли проблема с shrinkResources
3️⃣ Убедитесь не связана ли проблема с обфускацией кода

Автор также демонстрирует пример и как работает его рекомендация на практике
#Debug

Debugging Android process death

Отладить поведение вашего приложения при смерти процесса - очень полезно, чтобы оно могло восстановиться корректно на различных устройствах и пользователь не увидел этих особенностей работы Android ОС. Автор описывает стандартные способы таких проверко в adb и на устройстве