Android Broadcast
Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab #MQRZR
Show more📈 Analytical overview of Telegram channel Android Broadcast
Channel Android Broadcast (@android_broadcast) in the Russian language segment is an active participant. Currently, the community unites 14 578 subscribers, ranking 8 851 in the Technologies & Applications category and 45 639 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 14 578 subscribers.
According to the latest data from 24 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 34 over the last 30 days and by -1 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 44.67%. Within the first 24 hours after publication, content typically collects 26.55% reactions from the total number of subscribers.
- Post reach: On average, each post receives 6 512 views. Within the first day, a publication typically gains 3 871 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 68.
- Thematic interests: Content is focused on key topics such as api, kotlin, gradle, сборка, androiddev.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Подборка новостей и статей для Android разработчиков.
Реклама и связь с автором @ab_manager
РКН https://abdev.by/rkn_tg_ab #MQRZR”
Thanks to the high frequency of updates (latest data received on 25 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
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
Available now! Telegram Research 2025 — the year's key insights 
