🤖 Стала доступна запись интервью про процесс собеседования в Amazon на позицию Android разработчика.
Обсудили как ИИ помогает делать массовый отклик (так и нашел позицию кандидат), как проходит процесс собеседования, офер: деньги, условия и прочие плюшки.
Где смотреть
🪙 Boosty
📹 YouTube
📲 Telegram
#AndroidBroadcast #Видео
⚡️⚡️Топовый конкурс с розыгрышем билетов на Mobius 2026 Autumn
Разыгрываем 2 билета на Mobius — большую профильную IT-конференцию по мобильной разработке: нативной и кроссплатформенной.
📅 21–22 октября, Санкт-Петербург + online
Условия участия максимально простые:
1. Подписаться на каналы Mobius + Android Broadcast
2. Поставить любую реакцию на этот пост 👌
3. Нажать кнопку "Участвовать" 😎
Конкурс будет длиться 2 недели и закончится 7 октября.
Мы хотим, чтобы вы получили самый классный опыт от участия в Mobius — вдохновились докладами, нашли единомышленников и зарядились идеями для своих проектов вместе с нами!
🌟Также вы можете использовать промокод AndroidBroadcast, чтобы получить скидку 15% на покупку персонального билета!
Реклама. ООО «Джуг Ру Груп». ИНН 7801341446
🤖 Google запускает игры на Android Auto и Automotive. Теперь когда машина стоит, можно будет погамать! Уже можно публиковать в Google Play
Фича которую не просили, не ждали, но её добавили. Вам оно надо?
#AndroidBroadcast #AndroidDev
🪙 Оптимизация расхода памяти Android приложений. РАЗБОР
В Android 17 система вешает мягкие лимиты на процесс (Memory Limiter), особенно в фоне. Google Play отдельно считает анонимную память и swap по состояниям процесса, уже с Android 13. Оптимизация памяти, осознанный расход и чистка ненужных объектов в памяти теперь уже не избежать!
На Boosty вышло прикладное видео: как выделяется память приложению, чем это мерить и как не вылетать за лимиты без вреда для UX.
#AndroidBroadcast #Видео #Оптимизация #Разбор
A2UI - прокотол для AI агентов, чтобы описать текстом, что надо показать пользователю (ага, очень похоже на BDUI)
Текстовый ответ AI агента ломается, когда нужна визуализация. Остается полагаться только на то как модель умеет строить UI. Обычно нечитаемая markdown каша, еще нормальным может быть HTML/JS, но для нативной мобилки не очень.
Стнадарт A2UI предлагает делать иначе. AI агент не рисует UI и ничего не исполняет. Шлёт JSON (дерево + данные), клиент рисует своими виджетами. Очень похоже на BDUI, где JSON отправляет сервер.
Протокол открытый под Apache 2.0 за которым стоит Google. Уже совсем скоро будет релиз первой финальной версии.
Клиент заранее объявляет каталоги компонентов, поэтому агент строит UI только из них. Обновления идут сообщениями createSurface / updateComponents / updateDataModel. Клики и поля уходят обратно, агент патчит дерево.
#AI #Agents #A2UI
🚀 Google выкатила первую реализацию A2UI на Compose (пока в Альфе)
Решение от Google уже включает всё для интеграции с агентом, встроенным в ваше приложение.
Есть поддержка собственных каталогов компонентов и уже готовый на основе Material 3
Надеюсь, что это перенесут на Compose Multiplatform и получится удобно писать UI с агентами на Kotlin + Compose под все платформы!
🔗 Документация A2UI Compose
#Android #Compose #A2UI #AI
🐘 Вышел Gradle 9.8.0
Что нового
👉 Поддержка Java 27
👉 Улучшили отображение ошибок в логах
👉 Прокачали скорость работы на отдельных Windows компах
🛠 Исправление багов
#Gradle
🚀 Google готовит библиотеку AndroidX Backup Test (пока только первая альфа) для тестирования переноса аккаунта между девайсами, которое становится обязательным в Google Play
// Пример теста на JUnit 5
@ExtendWith(BackupRestoreExtension::class)
@BackupRestoreConfig(applicationId = "com.example.app")
class BackupRestoreTest {
@Test
fun prefsSurviveCloudRestore(
controller: BackupRestoreController,
@TempDir outputDir: Path,
) = runBlocking {
controller.runBackupRestoreFlow(
storage = StorageDomain.Preference("user_prefs"),
outputDir = outputDir,
mode = BackupTransportMode.CLOUD_ENCRYPTED,
)
}
}
#Android #AndroidDev #AndroidJetpack #Backup #Тестирование
🚀 Вышел androidx.navigation3 1.2.0. И этот как раз допил того, что надо в реальных кейсах навигации.
Три вещи, ради которых имеет смысл обновиться:
👉 Передача результатов между экранами. Больше не надо городить SharedViewModel или колбэки через хост. Обмен происходит через шину ResultEventBus. Для сценариев «выбрал и вернулся» это как раз то, чего не хватало.
NavDisplay(
backStack = backStack,
onBack = { backStack.removeLastOrNull() },
entryDecorators = listOf(
rememberSaveableStateHolderNavEntryDecorator(),
rememberResultEventBusNavEntryDecorator(),
),
entryProvider = entryProvider {
entry<Home> {
val viewModel = viewModel<HomeViewModel>()
ResultEffect<Address> { address ->
viewModel.onAddressSelected(address)
}
HomeScreen(
address = viewModel.address,
onPickAddress = { backStack.add(AddressPicker) },
)
}
entry<AddressPicker> {
val resultBus = LocalResultEventBus.current
AddressPickerScreen(
onSelected = { address ->
resultBus.sendResult(address)
backStack.removeLastOrNull()
},
)
}
},
)
👉 Поддержка KMP Deep Link API в androidx.navigation3.runtime.deeplink
👉 Упростили работы с Predictive back gesture в Android. Теперь не придется высчитывать дельту самостоятельно
#Compose #JetpackCompose #Navigation3
🤖 Android Dev Summit возвращается! Конференция от Google про Android для разработчиков снова пройдет в конце октября 2026! Уже есть расписание
#Android #AndroidDev #AndroidDevSummit
🤖 Google прокачала Wi-Fi дебаг в Android 17 и вот как
Google выкатил ADB Wi-Fi 2.0 в Android 17: новый mDNS-стек вместо Bonjour и старого mDNS, плюс adbd сам гасит wireless debugging на недоверенной сети и поднимает обратно, когда ты снова дома.
Что стало лучше (цифры от Google)
👉 скорость автоконнекта +32%
👉 скорость коннекта увеличилась на 66% на 90% сессий
На практике важнее другое. В Device Manager устройство появляется само, если на телефоне включён Wireless debugging. QR или код, без ручного IP.
Чтобы это работало надо использовать:
👉 Девайс на Android 17 или новее
👉 Android Platform-Tools 37.0.0 или новее
👉 Android Studio Quail 3 или новее
Я пользуюсь отладкой по беспроводу и это удобно, но ВАЖНО иметь хорошую точку доступа (точно 5 или 6 GHz) с высокой скоростью, иначе все ускорения коту под хвост.
🔗 Документация
📹 Доклад на Android Makers 2026
#Android #AndroidDev #Tooling #AndroidStudio
🤖 Обновленный гайд по поиску лагов UI в Android
Показано как искать проблемы на версиях Android с 12 и выше, а также на Android 11, Android 10 и ниже. Разница вызвана тем, что внутри ОС защиты разные инструменты для анализа.
#Android #AndroidDev #Оптимизация #UI
🛒 Google Play расширяет возможности и типы платных подписок
В блоге Android Developers рассказали про большой пакет обновлений по Google Play Billing, который будет раскатываться постепенно.
Из уже доступного всем явно называют только In-App Messaging API: всплывающие уведомления внутри приложения, чтобы починить отклонённую карту или предупредить о смене цены подписки.
Все анонсы связаны с изменением способов продажи. Изменения направлены на удобство пользователей и повышение доходов разработчика.
👉 Multi-Quantity — покупаешь несколько копий подписок один раз и можно раздать их семье, команде или студентам. Это то, чего B2B и EdTech на Play не хватало годами.
👉 Usage-Based Billing — предоплата + автопополнение, когда баланс падает ниже порога. Направлено на тип "Pay as You Go", например, генерация картинок/видео. Также убирает зависимость от платёжки картой и в теории должно повысить процент успешного оформления.
👉 Mixed Carts — подписка и one-time purchase в одной оплате и одном API-вызове. Можно добавлять скидку, если берут бандл.
👉 Cross-Developer Bundling — связка двух подписок, в том числе с чужим приложением. Коллабы становится делать выгоднее.
#Android #AndroidDev #GooglePlay
‼️NoOp — удобный способ отключить API в релизных сборках без усложнения кода
Отладочные инструменты часто вызываются из src/main: логирование экрана, свой интерцептор OkHttp. По умолчанию такой код попадает в релиз, а пользователю он не нужен. Чтобы оставить его только в отладочных сборках, обычно прячут каждый вызов под if (DEBUG), разносят сами вызовы по разным src или заводят плагинную архитектуру.
NoOp проще. Две реализации одного публичного API: одна рабочая, вторая с теми же методами, но без работы. Вызов в общем коде не меняется, в релизе он ничего не делает. По исходникам разделяется только место, где создаётся реализация.
interface ScreenTracer {
fun trace(screen: String)
object NoOp : ScreenTracer {
override fun trace(screen: String) = Unit
}
}
// src/release
fun createScreenTracer(): ScreenTracer = ScreenTracer.NoOp
// src/debug. Этот класс в release не попадает.
fun createScreenTracer(): ScreenTracer = DebugScreenTracer()
class DebugScreenTracer : ScreenTracer {
override fun trace(screen: String) {
Log.d("Screen", screen)
}
}
class AppContainer(
val screenTracer: ScreenTracer = createScreenTracer(),
)
// Одна и та же строка в debug и в release
screenTracer.trace("Checkout")
Пример маленький, но так же собираются целые модули. Правила те же:
1. Публичное API совпадает целиком: те же типы, методы и сигнатуры.
2. Если метод что-то возвращает, NoOp отдаёт нейтральное значение, от которого дальше ничего не запускается: null, пустую коллекцию, константу DISABLED, -1.
3. Методы NoOp не делают работу: не пишут логи, не ходят в сеть, не держат состояние.
// Подключение зависимостей с разной реализацией
debugImplementation(project(":lib:debug"))
releaseImplementation(project(":lib:noop"))
Оба модуля отдают одни и те же публичные типы. В сборку попадает один из них.
NoOp можно сочетать с вырезанием кода на этапе R8, чтобы в релизе не осталось даже заглушки. Если пост наберёт 200 огоньков 🔥 , разберу, как совмес
📹 День, когда сайдлоадинг остановился. Google запустила верификацию разработчиков при установке приложений на сертифицированные Android смартфоны.
В видео разбираю подробности и эффект первой волны, ну и конечно же делюсь своим мнение касательно хорошей затеи во во славу безопасности пользователей!
📹 Смотреть на YouTube
#AndroidBroadcast #Android
👨🏻💻 Строим мультиагентные системы для разработки на Podlodka AI Crew
Инженерные задачи редко состоят из одного действия.
В традиционной разработке их распределяют между специалистами. Мультиагентный подход переносит эту логику в ИИ: вместо одного исполнителя работают несколько виртуальных агентов. Как построить такую систему и сделать её эффективной?
Эксперты Podlodka AI Crew ответят на этот вопрос в новом сезоне «Мультиагентные системы» с 12 по 16 октября. Генеральный партнёр — RWB.
Что узнаете:
🧩 Как построить внутреннюю ИИ-платформу разработки
🧠 Как устроен «мозг» агента
🔄 Как убрать себя из агентского цикла с помощью оркестрации
🏭 Как построить «завод» из ИИ-агентов с узкими задачами
🔍 Как быстро находить ошибки и не тратить лишние токены
Формат: онлайн, 5 дней, утренние и вечерние сессии в Zoom. Много практики и обсуждений в закрытом Telegram-канале. Цена ниже привычных конференций.
🎟 Промокод AI_BROADCAST — скидка на сайте
#реклама
🔨 Вышла стабильная Android Studio Rabbit 1 (2026.2.1)
Что нового:
👉 Из Generate Signed App Bundle можно сразу залить билд в тестовые треки Play Console. В том числе первый релиз нового приложения во внутренний трек
👉 Gemini в Studio теперь можно гонять в корпоративном Google облаке, а внутри вашего Google Cloud проекта: свой VPC, регион данных и счёт компании (нужна подписка Gemini Enterprise)
👉 Параллельная синхронизация: на Gradle 9.4+ при org.gradle.tooling.parallel=true Studio по умолчанию тянет модели IDEA параллельно — Gradle Sync в больших мультимодульных проектах заметно быстрее
#AndroidStudio #AndroidDev #Android
🤖 Android Device Streaming теперь в Android CLI
Android CLI - терминальная утилита от команды Android из Google для более эффективной работы агентов с Android задачами
Android Device Streaming - облачная ферма устройств от Firebase (Google)
#Android #AndroidDev #AI #CLI