Android Broadcast
14.4K subscribers
3.68K photos
369 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
🤖 Улучшаем работу со Stacktrace в Jetpack Compose (особенно в релизе)

Команда Compose представила opt-in API для улучшения читаемости стектрейсов во время разработки и для релизов.

Теперь становится возможным:
👉 Точно определять источник крешей в композиции, Side Effect (LaunchedEffect, DisposableEffect) и корутинах из rememberCoroutineScope.
👉 Изолировать падения для создания воспроизводимых примеров.
👉 Изучать креши, которые раньше показывали только внутренние фреймы Compose.

Достаточно добавить одну строку в точке входа в приложение (например, в Application.onCreate()):
// Включить stack trace только для минифицированных сборок (рекомендуемый способ)
Composer.setDiagnosticStackTraceMode(ComposeStackTraceMode.Auto)

// Или для локальной отладки (более точные, но тяжёлые трассировки)
Composer.setDiagnosticStackTraceMode(ComposeStackTraceMode.SourceInformation)

‼️ВАЖНО Требуется Kotlin 2.3.0, а для режимов `Auto` и `GroupKeys` - включённый R8 с минификацией.


Есть несколько режимов работы
✔️Auto (рекомендуется): использует GroupKeys для минифицированных сборок и None для отладочных.
👉 GroupKeys: для минифицированных приложений. Использует маппинг-файл от R8 для восстановления примерного местоположения.
👉 SourceInformation: для отладки. Даёт точные строки где произошел креш, но затратно по производительности. Стоит использовать только на этапе разработке.
None: ничего не добавляет (поведение по умолчанию).

Под капотом любой креш в Compose коде оборачивается в DiagnosticComposeException, который добавляется в suppressed-исключения. В нём будет полная иерархия вызовов `@Composable` функций на момент падения!
java.lang.IllegalStateException: Test layout error
at <original trace>
Suppressed: androidx.compose.runtime.DiagnosticComposeException:
Composition stack when thrown:
at ReusableComposeNode(Composables.kt:<unknown line>)
at Layout(Layout.kt:79)
at <lambda>(TempErrorsTest.kt:164) <-- Ваша функция!
... и т.д.


⚠️ Известные ограничения:
👉 В режиме SourceInformation для первых фреймов могут не указываться номера строк (<unknown line>).
👉 GroupKeys указывает только на первую строку @Composable функции.
👉 Если сам сбор стектрейса упадёт, его исключение будет добавлено как suppressed.

Подробнее в официальной документации

💬 А вы уже пользовались этой фичей? Делитесь в комментариях! 👇

#AndroidDev #Kotlin #Compose #R8 #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍316👎4🔥4
🎄 Новогодняя акция в Ergostol — время заботы о комфорте! 💚

Новый год — лучший повод подарить себе и близким удобство, которое работает каждый день. Эргономичные столы Ergostol — это не просто мебель, а вклад в здоровье, продуктивность и настроение 😍

До 31 декабря 2025 включительно в разделе новогодней распродажи действуют скидки до -20% на столы, подстолья и дополнительные опции

🎁 А с промокодом ANDROID10 получите ещё –10% на все столы и опции к ним!

👉 Выбирайте подарки для себя, семьи, друзей и коллег на сайте ergostol.ru

📍 В Москве можно посетить шоурум (по предварительной записи).

Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262
Please open Telegram to view this post
VIEW IN TELEGRAM
👎11👍82
🛒 RuStore: 5 ключевых итогов 2025 года

Итоги 2025 года от RuStore интересны не сами по себе и не как набор цифр. Гораздо важнее — как далеко магазин смог уйти от витрины приложений без прописки в Google Play и стать площадкой для заработка разработчиков. Ниже — пять фактов, которые, на мой взгляд, лучше всего показывают, куда движется платформа и рынок приложений в России.

Категория «Полезные инструменты» впервые за три года обогнали финтех по количеству скачиваний

Пользователь всё чаще выбирает приложения, которые решают конкретные задачи здесь и сейчас. Это сигнал о взрослении аудитории и изменении ее предпочтений от «витрины» приложений без прописки в Google Play к практической пользе.

Ежемесячная аудитория RuStore выросла до 65,5 млн пользователей

Это уже половина Рунета 📈. На этом масштабе RuStore перестаёт быть нишевой альтернативой и становится полноценным каналом дистрибуции, который невозможно игнорировать при запуске и масштабировании продукта.

Число эксклюзивных пользователей RuStore выросло на 23% за год

Речь не про предустановку. Это рост реального, осознанного использования. Пользователи остаются в сторе и возвращаются к нему, а значит — формируется устойчивая привычка и лояльная пользовательская аудитория.

Доходы разработчиков в RuStore выросли в 4 раза

Для разработчиков это, пожалуй, самый прикладной итог. Хотелось бы узнать в рублях, но как есть. Меньше конкуренции, понятная аудитория и высокий спрос на утилиты делают RuStore площадкой где можно заработать.

Активно стали приходить паблишеры из Китая. За год их кол-во увеличилось в 2.5 раза. Конкуренция становится международной!

RuStore превысил 150 млн установок и вышел за пределы смартфонов

Автомобили, проекторы, электронные книги и телевизоры превращают RuStore из магазина приложений в инфраструктурный слой Android-экосистемы. Помимо этого еще магазин стал доступен на Аврора ОС с нативными приложениями.

#Итоги2025 #RuStore
Please open Telegram to view this post
VIEW IN TELEGRAM
👎71👍5828🔥22👏5🤔2
🤖 Google ускорили компиляцию кода на устройстве на 18% без компромиссов в памяти и других ресурсах

Команда Android Runtime (ART) опубликовала технический разбор оптимизаций, внедренных в 2025 году. Инженеры поставили амбициозную цель: сократить время компиляции, не жертвуя ни пиковым потреблением памяти, ни качеством генерируемого кода.

Самая хорошая новость — это не эксклюзив Android 16 (или будущих версий). Так как начиная с Android 12 компонент ART был выделен в Project Mainline, обновления прилетают через Google Play System Updates. Часть оптимизаций уже раскатана в июньском апдейте 2025 года, остальные придут до конца года.

Подробнее про работу этой системы у меня есть 📹 отдельное видео

Ускорение компиляции на устройстве влияет на два сценария:
👉 JIT (Just-in-Time): Приложение быстрее получает оптимизированный код, что снижает лаги и повышает отзывчивость UI.
👉 AOT (Ahead-of-Time): При установке или обновлении приложений устройство тратит меньше ресурсов CPU, что бережет заряд батареи и снижает нагрев.

🔗 Читать полный разбор в блоге Android Developers

#Android #ART #Performance #Mainline
Please open Telegram to view this post
VIEW IN TELEGRAM
👍47🔥29👎51
🎄 Подвожу итоги года @android_broadcast

Текущий год для индустрии стал годом внедрения AI по всем направлениям работы с текстом. Естественно, это не обошло и мой канал, но самое главное стало необходимость поиска пути развития канала и проекта на 2026 год.

Видение пути уже есть и поделюсь с вами им в начале 2026, а пока канал уходит на новогоднюю паузу.

🎉 Желаю вам хорошо отдохнуть за новогодние праздники, подвести итоги прошедшего года и задать целями на 2026. Спасибо, что всё это время были с Broadcast ❤️

👌 Какой для меня был 2025? Об этом я вам расскажу на стриме вместе с Гладковым и отвечу на ваши вопросы.

💬 В комментариях делитесь своими итогами года и что ждёте об будущего года в личном и профессиональном плане
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥26👍13🎉11👎102
‼️ Каналы broadcast будут на зимней паузе, но вот мой личный блог @rozov_blog живой и там делюсь своей жизнью, а также тем что интересного происходит в моей работе над 🤖 контентом и в 🏦 Альфа Банке Беларусь.
Please open Telegram to view this post
VIEW IN TELEGRAM
27👎19👍9🙏5
🔨 LeakCanary становится частью Android Studio

Google выкатили мощное обновление в Android Studio Panda (2025.3.1) — теперь легендарный LeakCanary интегрирован прямо в IDE. Больше не нужно полагаться только на экран телефона для анализа утечек.

LeakCanary — это де-факто стандарт в Android-разработке для поиска утечек памяти. Библиотека автоматически отслеживает объекты, которыеине очищаются сборщиком мусора. Это те самые "крошки", которые со временем превращаются в мертвый груз в оперативной памяти и приводят к тормозам и вылетам с ошибкой OutOfMemoryError.


В Android Studio Profiler появилась отдельная задача (task) для LeakCanary. Главная фишка — анализ переносится с девайса на компьютер.

Раньше процесс анализа хипа (heap dump) “вешал” слабые тестовые девайсы на несколько секунд (а то и минут). Теперь же “тяжелая” работа по парсингу hprof файла выполняется мощностями вашего рабочего ноутбука.

Что крутого:
🚀 Скорость: Анализ происходит значительно быстрее за счет ресурсов ПК.
Удобство: Результат анализа открывается сразу в IDE. Работает навигация “Jump to Source” — кликнули на утечку, сразу перешли в код.
Контекст: Можно скопировать трейс утечки и сразу скормить его Gemini прямо в студии для подсказок.

❗️ Несмотря на тесную интеграцию, LeakCanary остается независимым Open Source инструментом. Это все тот же проект от Square, который развивает комьюнити. Google не “поглотила” его, а просто встроила удобный UI для запуска анализатора внутри IDE. Библиотека остается свободной и открытой.

Попробовать можно уже в Canary-сборке Android Studio Panda.

Источник - developer.android.com

#AndroidDev #AndroidStudio #Android #Производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥216👍3014👎4🎉1👌1
🎄 Новогодняя распродажа в Ergostol продолжается

До 11 января 2026 включительно любимые модели столов и аксессуаров ждут вас со скидкой до -20%.

🎁 А с промокодом ANDROID10 получите ещё –10% на все столы и опции к ним!

Создайте идеальное пространство для работы и вдохновения!

📍 В Москве можно посетить шоурум (по предварительной записи).

Реклама. ООО «СОФТЭФФЕКТ». ИНН 7735575262
Please open Telegram to view this post
VIEW IN TELEGRAM
👎16👍92
Android Broadcast
‼️ Google отменяет Compose Material Icons С релизом Compose Material 3 — версии 1.4.0 Google сделала радикальный шаг: библиотека androidx.compose.material.icons исключена из Material3 и больше не рекомендуется к использованию. Что произошло 👉 Material Icons…
This media is not supported in your browser
VIEW IN TELEGRAM
🔨 Лучше поздно, чем никогда - Material Symbols из Google Fonts встроили в Android Studio. Пока только в Canary версии Panda.

Для тех кто не в курсе, Material Symbols пришли на замену Compose Material Icons, которые больше не рекомендуется к использованию (подробности тут)

Источник - Android Developers

#Android #AndroidDev #Compose #AndroidStudio
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥74👍12🎉11👎21
🤖 Проблемы обязательного edge‑to‑edge в Android

В Android 16 по умолчанию включили режим edge‑to‑edge, и разработчики больше не могут от него отказаться, если таргетят новую версию SDK. Да, часть ответственных команд внедрила поддержку ещё раньше, другие начали дорабатывать интерфейс после объявления включения в Android 16.

У меня дома стоит робот‑пылесос, и часть функций управления им на Pixel 9 Pro стала недоступна: кнопка меню уезжает под системный статус‑бар, и повлиять на это я никак не могу. В результате получаю дискомфорт, производителю пылесоса всё равно, Google — тоже.

Считаю, что в такой ситуации Google могла бы поступить по‑другому:
🛒 Запретить публикацию новых приложений без поддержки edge‑to‑edge и постепенно снимать с публикации старые, не обновлённые версии.
🤖 Дать пользователю системную настройку, позволяющую отключать edge‑to‑edge для конкретного приложения, как это делает, например, часть других производителей Android‑устройств.

Google формально двигает UI вперёд, но забывает, что за качество приложений отвечает магазин и именно он должен жёстко требовать соответствия современным гайдлайнам. Видно, с кого берут пример, но Apple хотя бы последовательно принуждает разработчиков внедрять нововведения из свежих версий iOS и просто не даст опубликовать приложение в App Store без поддержки нужных требований, а это в большинстве регионов единственный официальный способ распространения софта на iOS.

#android #android16 #edgetoedge
Please open Telegram to view this post
VIEW IN TELEGRAM
👍79👎152🔥1🤔1
Сталкиваетесь с проблемами из-за Edge-to-edge в Android 16 (интерфейс во весь экран)
Anonymous Poll
46%
Да
28%
Нет
12%
У меня версия Android меньше 16
7%
Я на iOS
1%
Что это?
0%
Другой вариант
5%
Не участвую в опросе
👍7👎3
💻 Как убеждать команду, клиентов и стейкхолдеров?

Если вы всё ещё “продаёте” свои идеи через голую логику и здравый смысл — вы сильно себе усложняете жизнь. Есть инструмент проще.

Вот идея для апгрейда: книга, которая учит управлять решениями людей на психологическом уровне.

💡 «Психология влияния» Роберта Чалдини — это практическое руководство для всех, кто работает в IT: тимлидов, продакт-менеджеров, техлидов, DevRel-специалистов.

Что внутри?
⏺️ Понятные модели мотивации и принятия решений — без мистики, только научный подход к влиянию
⏺️ Практические паттерны убеждения для презентаций и переговоров
⏺️ Инструменты, которые помогают договариваться с командой, менеджментом и заказчиками, а не упираться в “давай потом”

🎁 Скидка 5% по промокоду broadcast

Новое, переработанное издание — must-have для каждого IT-специалиста, который хочет расти не только технически, но и развивать soft skills: от аргументации до переговоров.

#реклама
Please open Telegram to view this post
VIEW IN TELEGRAM
👎17👍6🤔2🤯1
🤖 Те, кто занимается тестированием приложений на CI, явно сталкивались с разворачиваем Android устройств (реальных и эмуляторов) для запуска автотестов и другого тестирования. Наткнулся на решение Dockerify Android, которое позволит вам развернуть и управлять эмулятором через браузер.

🐱 Подробности в репозитории Dockerify Android

#android #docker
Please open Telegram to view this post
VIEW IN TELEGRAM
👎8👍2🔥1
🔨 В Android Studio можно включить показ Kotlin кода, сгенерированного плагинами Kotlin компилятора. Например, KotlinX Serialization добавляет serializer() в companion object

Открывайте настройку IDE и ищите в разделе Editor -> Inlay Hints -> Declarations generated by Kotlin compiler

Android Studio содержит фичу с версии Panda Canary 4

Спасибо за эту фичу Жене Ф.

#androidstudio #idea
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥25🤔7👎32
This media is not supported in your browser
VIEW IN TELEGRAM
🔨 В Android Studio теперь можно использовать собственные AI модели вместо Gemini, причем как локальные так и удаленные.

Вышла новая стабильная версия Android Studio - Otter 3 Feature Drop и в ней Google сделала верный шаг касательно AI, потому не всем подойдет их решение, а кто-то и вовсе из-за политик компании должен использовать внутренние решения. Вы можете настроить свою модель в настройках IDE в разделе "Tools" -> "AI" -> "Model Providers"

Из чатов я видел что не всех получилось заводить на стабильной версии, а вот в самое свежей Canary версии работало. Сегодня буду тестировать как оно вообще.

Источник - developers.android.com

#AndroidStudio #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍66🔥16👎3
This media is not supported in your browser
VIEW IN TELEGRAM
🔨 UI тесты без кода на естественном языке стали доступны в Android Studio Otter. Прикольно, но убирайте

В свежем релизе Android Studio Otter стала доступна фича Journeys. Идея звучит хайпово: вы пишете сценарий теста на обычном ествественном языке, а магия AI превращает это в воспроизводимый UI-тест.

Как это работает?
- Вы описываете шаги (например, “открой корзину”, “проверь наличие товара”)
- Journeys парсит это и сохраняет в проект специальный файл (не код) в папке journeysTest.
- Тесты можно запускать прямо из студии или через командную строку (gcloud).

😮 В чём подвох?
Несмотря на удобство «написания», вопросы к инфраструктуре остаются открытыми:
👉 Привязка к Google Cloud: Чтобы запустить эти тесты через CLI, нужна авторизация в gcloud. Без интернета и доступа к серверам Google магия парсинга не сработает.
👉 Изолированный контур: Если ваш CI/CD живет в закрытой сети, внедрить Journeys будет тем еще квестом.
👉 Масштабируемость: Насколько стабильно AI будет интерпретировать изменения в UI спустя время?

Лично я пока настроен скептически. Старый добрый Kaspresso или Compose Test Framework на Kotlin кажутся надежнее — они не требуют облаков, легко поддерживаются и работают в любом «подвале» без интернета. Да и генерировать код с AI совсем просто и поддерживается понятнее.
Journeys выглядит как классная игрушка для прототипов, но в продакшене больших проектов может стать сложностью.

🔗 Подробнее про Journeys for Android Studio в документации

💬 А что думаете вы? Кто-нибудь уже успел потыкать Journeys в реальных условиях? Может, я упускаю какую-то киллер-фичу, которая оправдывает привязку к облаку? Пишите в комментариях! 👇

#androidstudio #ai #тестировани
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍8👎2🔥2
# Пример файла Journey теста
journey:
name: "Add item to cart from catalog"
id: "add_to_cart_from_catalog"
tags:
- checkout
- smoke

setup:
device:
orientation: portrait
locale: en_US
app:
startActivity: ".ui.MainActivity"

steps:
- description: "Open catalog screen"
action: "Tap on the 'Catalog' bottom navigation item"

- description: "Open product details"
action: "Tap on the first product in the list"

- description: "Add product to cart"
action: "Tap on the 'Add to cart' button"

- description: "Open cart screen"
action: "Tap on the cart icon in the top app bar"

assertions:
- description: "Cart has 1 item"
check: "Verify that cart item count is 1"

- description: "Item title is visible"
check: "Verify that the product title is visible in the cart"

meta
owner: "checkout-team"
severity: "critical"
createdBy: "gemini"
👎63👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🔨 Включите эту настройку в Android Studio чтобы получить доступ ко всем AI фичам.

Копался в новых фичах Android Studio и не могу понять почему у меня нету фичи ⭐️ "Generate Compose Preview".

Изучал почему, а потом случайно нашел, что надо включить шаринг контекста всего проекта и в меню появились дополнительные опции. Сделано супер неочевидно.

#AndroidStuduio #Android #AndroidDev #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍146🤔4👎1