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 — головні інсайти року 
