Android Broadcast
Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab #MQRZR
Больше📈 Аналитический обзор Telegram-канала Android Broadcast
Канал Android Broadcast (@android_broadcast) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 14 578 подписчиков, занимая 8 851 место в категории Технологии и приложения и 45 639 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 14 578 подписчиков.
Согласно последним данным от 24 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило 34, а за последние 24 часа — -1, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 44.67%. В первые 24 часа после публикации контент обычно набирает 26.55% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 6 512 просмотров. В течение первых суток публикация набирает 3 871 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 68.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как api, kotlin, gradle, сборка, androiddev.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Подборка новостей и статей для Android разработчиков.
Реклама и связь с автором @ab_manager
РКН https://abdev.by/rkn_tg_ab #MQRZR”
Благодаря высокой частоте обновлений (последние данные получены 25 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
Coroutine Tracer — плагин в их открытой библиотеке Demeter. Gradle-плагин на этапе сборки находит все launch/async через ASM и вставляет хук без единой правки в исходниках. В рантайме хук перехватывает возвращённый Job, регистрирует invokeOnCompletion и всё отображается как интерактивное дерево прямо на девайсе.
Два технических момента, которые зацепили:
👉 Перехватывают launch$default, а не только launch. Это та версия, которую компилятор Kotlin генерирует для вызовов с default-параметрами. Именно она выполняется в большинстве реальных вызовов.
👉 Parent-child связи строятся через обратный индекс Job → traceId. Без него launch-в-цикле даёт квадратичный оверхед на горячем пути. Дерево собирается итеративно — страховка от StackOverflowError на глубоких иерархиях.
Zero overhead по умолчанию: без includedClasses в конфиге плагин ничего не инструментирует.
Отсутствие нормального рантайм-инструментария для корутин давно раздражало. Это первый инструмент из тех, что видел, который работает на живом девайсе без ручной расстановки меток.
🔗 Статья на Хабре
#Kotlin #Coroutines #AndroidDevtargetSdk = 36 включает breaking changes, которые начинают работать сразу после сборки. Что поменяется после смены цифры:
👉 `onBackPressed()` больше не вызывается. На Android 16 + его переопределение игнорируется. Нужен OnBackPressedDispatcher или OnBackInvokedCallback.
👉 Native .so и 16KB page size. Если в приложении или транзитивных зависимостях есть нативный код — нужна проверка совместимости. NDK 27+ и useLegacyPackaging = false. Без этого возможны краши на части устройств.
👉 `USE_FULL_SCREEN_INTENT` требует явного разрешения. Звонки, будильники, доставка — всё что показывает уведомления поверх локскрина. Без декларации в манифесте перестанет работать.
👉 Health permissions. BODY_SENSORS и BODY_SENSORS_BACKGROUND заменяются на гранулярные android.permission.health.* — READ_HEART_RATE, READ_OXYGEN_SATURATION и т.д.
Тестировать breaking changes можно уже сейчас, не поднимая targetSdk, через compat framework:
adb shell am compat enable-all com.yourapp
Или точечно по конкретному флагу — удобнее разбирать по одному изменению. Подробнее про изменения читайте в документации
#Android #AndroidDev #Android16build.gradle.kts, и на выходе assembleRelease APK несёт обфусцированное нативное ядро с защитой.
plugins {
id("com.android.application")
id("com.github.iamjosephmj.hydra") version "1.9.0"
}
Что проверяет на старте процесса: рут-доступ, Frida/hooking-инструменты, клонирование через virtual spaces (Parallel Space и похожие), эмуляторы, целостность APK. Нашёл критичное — завершает процесс. Без advisory-режима, сразу kill.
secrets {} в конфиге шифрует строки при сборке, в classes.dex попадает только цифертекст, расшифровка только на чистом устройстве:
val url = withContext(Dispatchers.IO) { Hydra.secret("apiUrl") }
Всё on-device, без сети, без телеметрии. INTERNET permission не объявляется вообще.
⚠️ Ядро libdicore.so закрыто и обфусцировано — проверить что именно кладётся в APK нельзя. Для финтех-продакшна это принципиальный вопрос. Kill-by-default сломает эмуляторы в QA — тестировать только на реальных чистых устройствах. QUERY_ALL_PACKAGES потребует декларации в Play Console.
В продакшн только после того, как понял, что именно ты кладёшь в свой APK.
🐱 GitHub
#Android #AndroidDev #БезопасностьAndroid Developer ID Status API проверяет, занят ли package name, Android Developer Console API регистрирует и ведёт пакеты прямо из CI/CD. Оба умеют OAuth delegation, так что регистрировать пакеты могут и сторонние платформы от твоего имени. ID Status API обещают глобально в июле, Console API сейчас в раннем доступе.
🤫 По секрету - с июня на большинство Android-устройств автоматически приезжает системный сервис, который позже будет проверять регистрацию разработчика. Раскатка уже идёт.
Сроки прежние: обязательная регистрация с 30 сентября 2026 в Бразилии, Индонезии, Сингапуре и Таиланде, глобально в 2027. Незарегистрированное по-прежнему ставится через ADB или advanced flow.
Новость показывает реальный масштаб по всем магазинам и, как я понял, чтобы проходить верификацию необязательно публиковаться в Google Play, подойдет любой доверенный магазин.
#Android #GooglePlayandroid.widget), Fragments, RecyclerView, ViewPager переходят в maintenance mode: только критические баги, никаких новых фич. Вопрос «когда View умрёт» закрыт — она уже в maintenance.
Breaking changes при таргете SDK 37:
👉 resizeableActivity=false, screenOrientation, minAspectRatio / maxAspectRatio игнорируются системой на large screen (sw > 600 dp). Игры освобождены, остальные нет.
👉 static final поля нельзя менять через reflection: IllegalAccessException. Через JNI — краш.
👉 Native-библиотеки через System.load() должны быть read-only, иначе UnsatisfiedLinkError.
👉 Доступ к локальной сети заблокирован по умолчанию: нужен ACCESS_LOCAL_NETWORK.
👉 Lock-Free MessageQueue быстрее, но ломает код с reflection на приватных полях.
‼️ ВАЖНО CameraX: обновитесь до 1.5.2 или 1.6.0+ — краш на Android 17 из-за нового режима dynamic range.
Из остального: Generational GC в ART, жёсткие лимиты памяти с принудительным завершением процессов, Post-Quantum Cryptography (ML-DSA), AppFunctions как on-device MCP API для AI-агентов (alpha, Gemini в private preview).
#Android #Android17NavScreen с двумя реализациями — Fragment и Modo Screen, роутер выбирает через feature toggle в рантайме. Это позволило раскатывать переезд через A/B и не стопорить продуктовую разработку. При первой раскатке словили краш в ComposeView, продуктовые метрики просели — остановили, починили, раскатили снова. Без feature toggle был бы хотфикс-релиз.
Три реальные грабли:
👉 Слишком ранний выбор незрелой библиотеки — вложили много времени в доработки самой Modo
👉 Три параллельные миграции одновременно (View→Compose, Fragment→Modo, редизайн) — создали жёсткие зависимости и замедлили продуктовую разработку
👉 Старт без стратегии и метрик — месяцы хаоса, пока не завели дашборд с прогрессом
Если планируешь похожий переезд — там есть что взять.
#Android #Compose #Навигация@NavDestination, @NavEdge, @NavGraphRoot, KSP статически собирает граф, а IDE-плагин рисует карту: каждый экран отрендеренной @Preview-миниатюрой через Layoutlib, без эмулятора. Переходы стрелками, двойной клик прыгает в исходник, граф мёржится по всем модулям. Канвас редактируемый — тянешь связь от экрана к экрану, и плагин сам вписывает @NavEdge в код.
Работает с Navigation 3, Navigation 2 и даже голыми Activity. KMP из коробки: аннотации в commonMain, есть сэмпл на KotlinConf-приложении (26 экранов, 36 переходов).
Бонусом .nav baseline по аналогии с apiDump/apiCheck: navCheck валит сборку, когда граф разъезжается с закоммиченным базелайном.
#Compose #AndroidStudio
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
