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

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
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👍13🎉11👎31
🤖 Проблемы обязательного 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
👍87👎163🔥1🤔1
🤖 Те, кто занимается тестированием приложений на CI, явно сталкивались с разворачиваем Android устройств (реальных и эмуляторов) для запуска автотестов и другого тестирования. Наткнулся на решение Dockerify Android, которое позволит вам развернуть и управлять эмулятором через браузер.

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

#android #docker
Please open Telegram to view this post
VIEW IN TELEGRAM
👎10👍2🔥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
2👍30👎106🤔5
🤯 Dagger Hilt блокирует переход на AGP 9.0

UPD. 21 января вышел Dagger 2.59 с поддержкой AGP


Android Gradle Plugin 9.0 официально зафиксировал новый стабильный конфигурационный API (вышла стабильная версия с релизом AS Otter FD 3) — это одно из самых значимых изменений в инфраструктуре Android и Kotlin Multiplatform за последние годы. Цели понятны и правильные лучше работа с кэшем и общая скорость сборок. Подробнее про все изменения я писал в отдельном посте

Google несколько релизов подряд аккуратно готовил экосистему к этому переходу, заранее добавив новый API и дав время авторам плагинов адаптироваться. Но на практике всё упирается в плагины.

Я столкнулся с тем, что Gradle-плагин Dagger Hilt до сих пор использует старую модель конфигурации и несовместим с новым DSL из AGP 9.0. В результате проект нельзя перевести на новую версию без отключения Hilt или включения режим совместимости. Иронично, что именно официальный инструмент от Google сейчас становится блокером для обновления.

Да, в AGP оставили compatibility-флаги, позволяющие продолжать сборку по старым правилам. Это спасает проекты от немедленного падения, но полностью отключает все ключевые преимущества AGP 9.0 — configuration cache, ускоренную конфигурацию и новую модель плагинов.

💬 Вы уже пробовали миграцию на AGP 9.0? Что блокирует? Делитесь в комментариях мнением.

UPD. По заявлениям подписчиков также есть проблемы в работе KAPT и KSP

#Android #AndroidDev #Gradle #Dagger #Hilt
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯34👎63👍2🎉1
🚀 Google взялась за упрощение Picture‑in‑Picture

PiP на Android долго был зоопарком: разный API на версиях, разный UI‑стейт, много if (SDK_INT…) и бойлерплейта. Новая Jetpack‑библиотека androidx.core:core-pip как раз и создана, чтобы это спрятать: она выравнивает вызовы PiP между версиями Android, даёт единый способ задавать параметры (особенно для видео/плееров), объединяет разрозненные колбэки состояния PiP и уменьшает количество кода за счёт готовых пресетов действий для типовых сценариев.

Требования: обновляем Activity

Чтобы всё это заработало, мало просто подключить core-pip — нужно обновиться до свежей Activity 1.13.0 (пока в альфе). В этой версии есть новые API для отслеживания состояния PiP (PictureInPictureUiStateCompat и слушатели), на которых удобно строить логику поведения UI, когда окно уходит в PiP или, например, «прячется» в угол.

// Пример кода: реагируем на состояние PiP
class PlayerActivity : ComponentActivity() {

private val pipUiStateListener =
Consumer<PictureInPictureUiStateCompat> { state ->
if (state.isStashed) {
/* спрятать контролы плеера */
} else {
/* показать контролы плеера */
}
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

// ... инициализация UI / плеера ...
addOnPictureInPictureUiStateChangedListener(pipUiStateListener)
}

override fun onDestroy() {
removeOnPictureInPictureUiStateChangedListener(pipUiStateListener)
super.onDestroy()
}
}

🔗 Подробности про библиотека в документации

#Android #AndroidDev #AndroidJetpack #PIP
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45🔥9👎61
🤖 Запустить Linux Desktop на Android вполне реально и понятно как. Проект Local Desktop позволит вам это сделать. Запуск происходит через виртуализацию, доступную на Android 16.

На скриншоте к посту Linux, запущенный на Pixel Tablet.

#Android #Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥40👎4🤔4👍21
Android Broadcast
🔥 В Dagger 2.59 добавили поддержку AGP 9.0. Одним блокером для миграции на AGP 9.0 стало меньше #Android #Gradle
🤖 Baseline Profile Gradle Plugin не поддерживает AGP 9.0, но есть способ поправить

Сразу после выхода Dagger с поддержкой AGP стал пробовать миграцию на AGP 9.0. Блокером послужил baselineprofile Gradle plugin. Текущая его стабильная версия 1.4.1 не поддерживает новый DSL, но зато альфа версия 1.5.0-alpha01 (вышла 17 декабря 2025) уже работает.

Учитывая, что это не влияет на код в рантайте, то я бы обновился в проде.

#Android #Gradle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👎7🔥3
🛒 Save for Later — больше гибкости для релизов в Google Play Console

Google запустил функцию "Save for later" в Google Play Console. Теперь можно контролировать, какие изменения отправлять на ревью, а какие пока отложить.

Раньше все изменения автоматически группировались и отправлялись на ревью вместе.

Это создавало сложности:
👉 Приходилось задерживать hot fix или публиковать изменения, которые ещё не готовы
👉 Нельзя было разделить обновление тестовых треков и маркетинговые изменения
👉 Сложно было поменять решения касательно релиз на ходу

Теперь в разделе "Changes not yet sent for review" можно отметить группы изменений как "Save for later".

Эти изменения:
👉 Не попадут в текущее ревью
👉 Можно в любой момент вернуть обратно
👉 После начала ревью автоматически вернутся в очередь

Функция работает вместе с проверками перед ревью.

Новая фича позволяет быстрее итерировать и минимизировать влияние реджектов на график релизов. Особенно полезно, когда часть изменений готова, а часть — нет.

🔗 Подробности в блоге

💬 В комментариях расскажите сталкивались ли вы с подобной задачей и что новая функция упростит вам работу

#Android #GooglePlay
Please open Telegram to view this post
VIEW IN TELEGRAM
24👍17👎6