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 580 subscribers, ranking 8 794 in the Technologies & Applications category and 44 714 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 14 580 subscribers.
According to the latest data from 26 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 61 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 39.85%. Within the first 24 hours after publication, content typically collects 23.09% reactions from the total number of subscribers.
- Post reach: On average, each post receives 5 811 views. Within the first day, a publication typically gains 3 367 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 28.
- 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 27 October, 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.
⚠️ Сроки проверок — личный опыт одной команды, а не обязательства магазинов.🔗 Личный опыт публикации в магазинах приложений в России в 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он не обрабатывает.
