Android Broadcast
Подборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab #MQRZR
Больше📈 Аналитический обзор Telegram-канала Android Broadcast
Канал Android Broadcast (@android_broadcast) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 14 580 подписчиков, занимая 8 794 место в категории Технологии и приложения и 44 714 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 14 580 подписчиков.
Согласно последним данным от 26 октября, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило 61, а за последние 24 часа — -1, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 39.85%. В первые 24 часа после публикации контент обычно набирает 23.09% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 5 811 просмотров. В течение первых суток публикация набирает 3 367 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 28.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как api, kotlin, gradle, сборка, androiddev.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Подборка новостей и статей для Android разработчиков.
Реклама и связь с автором @ab_manager
РКН https://abdev.by/rkn_tg_ab #MQRZR”
Благодаря высокой частоте обновлений (последние данные получены 27 октября, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
⚠️ Сроки проверок — личный опыт одной команды, а не обязательства магазинов.🔗 Личный опыт публикации в магазинах приложений в России в 2026 году (Хабр) #Android #AndroidDev #RuStore #GooglePlay
SentryAndroid.init стоит на критическом пути запуска каждого приложения с Sentry, а таких стартов, по подсчётам компании, около 4,5 млрд в день. За квартал команда сделала больше 40 изменений и сократила инициализацию на 20–30% между версиями 8.43.0 и 8.54.0. Узкие места искали по трейсам Perfetto, в том числе с LLM, а каждый фикс проверяли Macrobenchmark.
Приёмы, которые пригодятся и в вашем коде:
👉 Настройки из манифеста — в байткод при сборке: SDK больше не парсит манифест, одно это дало 6,5%.
👉 Свой парсер DSN вместо java.net.URI: было до 6 мс, стало около 1 мкс.
👉 Общие пулы вместо разовых потоков: в ART каждый поток резервирует 1 МБ под стек.
Нужны SDK от 8.54.0 и Sentry Android Gradle Plugin от 6.20.0.
⚠️ Цифры сняты на синтетическом демо-приложении, в реальных проектах эффект может отличаться.🔗 Sentry Blog #Android #AndroidDev #Performance #Sentry
// Системный список исключений из оптимизации батареи
startActivity(Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS))
// Страница настроек приложения: там на большинстве телефонов Autostart и батарея
startActivity(Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", packageName, null)))
⚠️ Google Play разрешает прямой запрос исключения (REQUEST_IGNORE_BATTERY_OPTIMIZATIONS) лишь в немногих случаях — большинству приложений стоит вести пользователя на экран настроек.
Как проверить, что дело в прошивке: отправьте одно и то же уведомление на Pixel/Samsung и на Xiaomi, смахнув приложение на обоих. Пришло на первом, но не на втором — это battery saver, и одними изменениями на сервере это не исправить.
⚠️ Названия пунктов меню меняются между версиями прошивок — актуальные инструкции по брендам собраны на dontkillmyapp.com.🔗 Why push notifications go missing on Xiaomi, Oppo, Vivo and Realme #Android #AndroidDev #FCM #Push #Xiaomi
val safeClient = client.newBuilder()
.hostnameVerifier(ForbiddenCertificatesHostnameVerifier())
.build()
⚠️ Первая версия обхода была на Interceptor, но он получает сертификаты слишком поздно, когда секреты уже ушли атакующему. Если вы скопировали её 20 октября, замените на HostnameVerifier. На устройствах с Google Play Services Google уже раздал автоматическое обновление, под угрозой прежде всего JVM и AOSP-устройства.🔗 Jesse Wilson · Mozilla · Changelog 5.5.1 · 4.12.1 #Android #AndroidDev #OkHttp #Security
Buy milk tomorrow at 7pm получается Buy milk и завтрашние 19:00 в выбранной таймзоне.
Библиотека для Kotlin Multiplatform понимает английский и русский: Android, JVM и iOS. Она разбирает даты, время, диапазоны вроде «завтра с 17:30 до 20:00» и повторения вроде «каждые 2 дня». Context и инициализация не нужны.
val parser = DateParser()
val matches = parser.parse(
text = "buy in 5 hours",
reference = Instant.parse("2024-02-28T10:15:00Z"),
timeZone = TimeZone.UTC
)
val instant = matches.single().instant // 2024-02-28T15:15:00Z
Неоднозначные даты не угадываются: 03/04/2026 без явного DateOrder.MDY или DMY вернёт пустой результат. Кроме момента времени, DateMatch отдаёт конец диапазона, период повторения и оставшийся текст напоминания.
⚠️ Парсер построен на правилах: произвольный текст за пределами поддерживаемых форм может не распознаться. Android — от API 26, Swift/XCFramework-дистрибутива нет. Версия 0.1.3, репозиторий создан в октябре.🔗 GitHub · Документация · klibs.io #Kotlin #KMP #Multiplatform #OpenSource
IllegalArgumentException: RemoteViews for widget update exceeds maximum bitmap memory usage. Так Android 17 ведёт себя с приложениями на targetSdk 37: если картинки в RemoteViews не влезают в лимит, система отклоняет обновление и бросает исключение. На targetSdk 36 и ниже это пока только предупреждение в логе. Google переписал описание этого изменения и добавил, как считается лимит и как в него уложиться.
Лимит — 6 * width * height байт, то есть полтора полноэкранных буфера ARGB_8888. Считаются картинки для всех ориентаций и размеров виджета сразу, поэтому responsive-виджет легко съедает бюджет копиями одного и того же Bitmap.
👉 Размер экрана берите из WindowManager.currentWindowMetrics, а не из displayMetrics: на складных устройствах тот может вернуть размер неактивного дисплея.
👉 Уменьшайте картинки до размеров виджета, а для непрозрачных используйте RGB_565 — это вдвое меньше памяти.
👉 В Glance декодируйте Bitmap один раз в provideGlance до provideContent, иначе для каждого размера создаётся своя копия.
URI-картинки в лимит не входят, но лаунчер декодирует их в полном разрешении, так что класть в cacheDir тоже стоит уменьшенную версию.
🔗 Изменения поведения Android 17 · Виджеты на Glance
#Android #AndroidDev #Android17 #AppWidgets./gradlew assembleDebug; не «бери свежие версии», а «версии из gradle/libs.versions.toml, новые зависимости — только после вопроса». Навыки устаревают, поэтому свежие факты агенту лучше давать через поиск по документации в Android CLI.
В квикстарте инструменты подобраны под опыт: новичкам — Google AI Studio, своему агенту вроде Claude Code — Android CLI и skills, для продакшена — Android Studio.
🔗 Как работают агенты · Квикстарт
#Android #AndroidDev #AI #AIAgents⚠️ Это альфа-версия: нужны Apple Silicon и macOS 26.4+, часть приложений пока не запускается.🔗 GitHub · Как это устроено · Для разработчиков #Android #AndroidDev #macOS #OpenSource
ANDROID10 действует на сайте Эргостол и на Ozon!
Как насчёт апгрейда кресла? 🪑
🎥Смотрите обзор кресла Экзо Флекс: https://abdev.by/EiMt
👉 Выбрать себе обновления можно: тут
#рекламаproguard-android-optimize.txt и добавила Baseline и Startup Profiles, через девять месяцев — на R8 full mode. Вместо широких исключений нашли конкретные классы, к которым обращаются через рефлексию и динамические прокси, и написали для них точечные keep-правила. Оценки оптимизации R8 теперь отслеживают в CI, а новые keep-правила планируют пропускать только с обоснованием.
Итог: ANR меньше на 32%, холодный старт быстрее на 35%. Недавно писал, что Google взялся за R8 всерьёз, — вот как это выглядит на большом проекте.
🔗 Кейс Grab
#Android #AndroidDev #R8 #Performancedatastore-tink, а 12 октября вышел 1.3.0-rc01, то есть API уже стабилен.
Шифрование подключается обёрткой над вашим сериализатором: AeadSerializer шифрует данные через Tink (AES-256-GCM), а ключ защищён Android Keystore.
// keysetHandle создаётся через AndroidKeysetManager
val aeadSerializer = AeadSerializer(
aead = keysetHandle.getPrimitive(
RegistryConfiguration.get(), Aead::class.java
),
wrappedSerializer = SettingsSerializer,
// уникальное имя защищает от подмены шифротекста
associatedData = "settings.json".encodeToByteArray(),
)
val dataStore = dataStore(
fileName = "settings.json",
serializer = aeadSerializer,
scope = scope,
)
Работает на Android и JVM. Ошибки расшифровки приходят как CorruptionException, так что их ловит обычный CorruptionHandler. Заодно в 1.3 появился DataStore.Builder, и Google советует переходить на него с DataStoreFactory.
🔗 Release notes DataStore · Разбор на ProAndroidDev
#Android #AndroidDev #DataStore #Securitytasks-genai вышла на Google Maven ещё в конце апреля. Если вы через MediaPipe встроили в приложение языковую модель, которая работает прямо на телефоне, она продолжит работать, но всё новое теперь появляется только в LiteRT-LM, так что переезд стоит спланировать заранее.
LiteRT-LM — рантайм Google для языковых моделей поверх LiteRT. У него свой Kotlin API для Android и JVM с ускорением на GPU и NPU, мультимодальностью и вызовом инструментов. Модели нужны в формате .litertlm, готовые лежат в LiteRT Community на Hugging Face. Актуальная версия — litertlm-android:0.18.0, ещё до 1.0. Базовый сценарий из документации:
val engine = Engine(EngineConfig(modelPath = modelPath, backend = Backend.GPU()))
engine.initialize() // до ~10 секунд, не на главном потоке
engine.createConversation().use { conversation ->
conversation.sendMessageAsync("Привет!").collect { print(it) }
}
Для GPU в манифест нужно добавить uses-native-library для libOpenCL.so и libvndksupport.so с required="false".
⚠️ В AAR LiteRT-LM 0.18.0 нативные библиотеки есть только для arm64-v8a и x86_64. На 32-битных ARM-устройствах загрузка упадёт с🔗 MediaPipe LLM Inference · LiteRT-LM для Android · dev.to #Android #AndroidDev #AI #LiteRTUnsatisfiedLinkError, поэтому проверяйтеBuild.SUPPORTED_ABISзаранее — на это наткнулся Charles Hartmann.
WRITE_CONTACTS, а оно позволяет менять всю адресную книгу в фоне. Интенты были альтернативой, но на разных устройствах вели себя по-разному. Google меняет правила: приложения с targetSdk следующей версии Android не смогут писать в контакты напрямую, такие записи упадут с SecurityException.
Вместо этого — ACTION_INSERT, ACTION_EDIT и ACTION_INSERT_OR_EDIT: они откроют стандартный системный редактор и не потребуют разрешений. Для чтения выбранных контактов есть Contact Picker, для «Позвонить через…» в мессенджерах — новый People Directory. Приложениям с фоновой синхронизацией (CRM, облака) дадут спецдоступ MANAGE_CONTACTS в Android 17 QPR2.
⚠️ Свои MIME-типы в🔗 Android Developers Blog #Android #AndroidDev #Contacts #PrivacyInsert.DATAсистемный редактор молча проигнорирует, аSHOW_OR_CREATE_CONTACTон не обрабатывает.
