😁 Android CLI получил stable 1.0, и его главная команда тянется обратно в Android Studio.
Android CLI это тонкая прослойка между ИИ-агентом и Android-тулчейном. Работает с любым агентом: Claude Code, Codex, Gemini, Antigravity. Обновляется командой
Стоит понять, что CLI делает сам, а что нет. Сам он умеет то, чему не нужно понимание кода: создать проект, поставить зависимости, собрать, поднять эмулятор, задеплоить. Это обёртка над gradle, adb и SDK-тулзами, работает откуда угодно.
«Умные» операции CLI проксирует в запущенную Android Studio через новую команду android studio. Студия тут работает как бэкенд:
Ещё в релизе появились Journeys, сценарии на естественном языке для прогона по приложению, а библиотеку скиллов пополнили миграцией на CameraX, Perfetto SQL и Compose Style API.
Также появилась интеграция с Android разработкой в Antigravity на основе Android CLI
🤔 Меня в таких мостах к IDE смущает привязка к одной открытой папке проекта. MCP-сервер для Android Studio я по этой причине так и не стал использовать: работаю через git worktree, держу несколько папок-проектов одновременно, а мост видит только главную.
🔗 Источник Android Dev Blog
#Android #AndroidDev #AI #ИИ #AndroidStudio
Android CLI это тонкая прослойка между ИИ-агентом и Android-тулчейном. Работает с любым агентом: Claude Code, Codex, Gemini, Antigravity. Обновляется командой
android update.Стоит понять, что CLI делает сам, а что нет. Сам он умеет то, чему не нужно понимание кода: создать проект, поставить зависимости, собрать, поднять эмулятор, задеплоить. Это обёртка над gradle, adb и SDK-тулзами, работает откуда угодно.
«Умные» операции CLI проксирует в запущенную Android Studio через новую команду android studio. Студия тут работает как бэкенд:
analyze-file гоняет инспекции IDE, find-declaration и find-usages ищут символы через семантический индекс проекта, render-compose-preview отдаёт картинку Compose-превью из рендер-движка студии, version-lookup подтягивает актуальные версии зависимостей. Команда android studio check показывает pid живого процесса студии и статус проекта READY: CLI разговаривает с уже открытым инстансом по локальному каналу. Студия не запущена, у агента остаются только сборка и деплой, всё умное отваливается.Ещё в релизе появились Journeys, сценарии на естественном языке для прогона по приложению, а библиотеку скиллов пополнили миграцией на CameraX, Perfetto SQL и Compose Style API.
Также появилась интеграция с Android разработкой в Antigravity на основе Android CLI
🤔 Меня в таких мостах к IDE смущает привязка к одной открытой папке проекта. MCP-сервер для Android Studio я по этой причине так и не стал использовать: работаю через git worktree, держу несколько папок-проектов одновременно, а мост видит только главную.
🔗 Источник Android Dev Blog
#Android #AndroidDev #AI #ИИ #AndroidStudio
👍15👎8❤1
AI Studio научился собирать нативные приложения на Kotlin и Jetpack Compose из текстового промпта. Раньше получались только веб-приложения. Весь цикл идёт в браузере: встроенный эмулятор Android показывает результат во время сборки, локальный SDK не нужен.
Готовое приложение ставится на телефон по USB через встроенный в Chrome adb.
Публикация в магазин тоже есть и устроена следующим образом:
👉 AI Studio сам создаёт запись приложения в Google Play Console
👉 собирает bundle и заливает его в трек внутреннего тестирования
👉 Автору надо будет создать аккаунт и заполнить все доки в консоле Google Play
Когда возможностей промптов не хватает, проект можно скачать и продолжить в Android Studio или другим предпочитаемым вами образом.
Под капотом та же технология, что в «Create new project with Gemini» в Android Studio, перенесённая в веб.
На старте набор сценариев ограничен:
👉 личные утилиты и простые социальные приложения
👉 эксперименты с железом (камера, GPS, акселерометр, Bluetooth)
👉 приложения с Gemini API
Скоро обещают управление тест-треками Google Play и интеграции Firebase: Firestore, Auth, App Check.
Меня цепляет не генерация кода, а то, что Google убрал из цепочки установку инструментов: от промпта до приложения в Play без единой команды в терминале. Для боевых проектов это пока не вариант, ограничение «только простые приложения» расставляет всё по местам. Но собрать за вечер утилиту под себя с любого устройства с выходом в интернет (из поддерживаемого региона) или быстро показать прототип так вполне реально.
#Android #AndroidDev #AI #Google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👎27❤14👍1
До Google I/O работа с локальной Gemma модульию выглядело так:
Не сложно, но порог входа всё равно есть.
Теперь в Canary-билде Android Studio I/O Edition всё это убрали: Gemma 4 скачивается прямо из IDE, внешний сервер не нужен.
Сама Gemma 4 обучена на Android-разработке, понимает Kotlin, Compose, Jetpack-паттерны. Работает офлайн, код на сторону не уходит. Для Agent Mode доступен вариант 26B MoE, но он требует серьёзного железа.
Меня здесь привлекает не столько удобство для личного использования, сколько вектор в сторону корпоративных контуров. Компании, которые не могут отправлять код в облако из-за политик безопасности, получают полноценный AI-ассистент прямо в IDE. Это не «хорошая альтернатива Gemini», это другой сценарий использования. И судя по тому, что Google добавила open-модели в Android Bench, они понимают, что этот рынок будет расти.
🔗 Источник Android Dev Blog
#AndroidStudio #Android #AndroidDev #AI #Google #GoogleIO
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38👎8❤2
Беспроводной ADB наконец перестанет быть лотереей. С Platform Tools v37 и Android 17 устройство остаётся подключённым даже если сменить сеть или перезагрузить Mac. Просто продолжаешь работать.
Раньше при закрытии крышки ноутбука в устройство теряло соединение и подключайся снова. Теперь этот ритуал уходит. Устройства с включённым Wireless Debugging автоматически появляются в Device Manager Android Studio без каких-либо дополнительных действий.
Работает не только с телефонами, но и с часами, что актуально при разработке для Wear OS, где физическое подключение всегда было отдельной болью.
⚠️ Требования жёсткие: нужен Android 17 на устройстве и Android Platform Tools v37 или новее. Для большинства девайсов на руках это пока недоступно. Фича - задел на будущее.
#Android #AndroidDev #AndroidStudio
Please open Telegram to view this post
VIEW IN TELEGRAM
❤59👍22🔥12👎4🎉4
На I/O 2026 Google анонсировал пачку изменений в Play — часть из них работает сама по себе, часть требует действий от разработчика. Разберу в двух постах: сначала discovery и охват, потом монетизация и инструменты.
😁 Play Shorts — вертикальный short-video формат для демонстрации приложений внутри стора. Пока только США и ограниченный круг разработчиков, расширение обещают позже.
🔗 Источник
#Android #GooglePlay
Please open Telegram to view this post
VIEW IN TELEGRAM
👎22👍7❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👎60 23👍5🔥3❤1
Media is too big
VIEW IN TELEGRAM
Опубликовал запись своего выступления с конференции Mobius Москва Весна 2026 в Москве. Рассказал о своём пути адаптации к ИИ, какие вызовы пришлось решать и как я менял отношение и подход к работе с ИИ, чтобы достигать ожидаемых результатов при разработке программного обеспечения.
#Mobius #AI #ИИ
Please open Telegram to view this post
VIEW IN TELEGRAM
52👎46👍24 3🔥2❤1
#Android #GoogleIO
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38👎13❤3👏2🎉2
Самое интересное для разработчиков - AppFunctions. Это experimental preview API + Jetpack библиотека, которые позволяют приложению стать on-device MCP (Model Context Protocol) сервером. Агенты вроде Gemini смогут обращаться к функциям приложения через стандартный протокол, без скрейпинга UI. Для отладки выпустили тест-агент, для раннего выхода в production открыта форма early access.
По on-device моделям: ML Kit GenAI APIs теперь работают с Gemini Nano 4 (preview). Prefix Caching уже доступен — кеширует промежуточное состояние LLM для повторяющихся частей промпта, снижает время инференса. Structured Output API скоро - типизированные объекты на выходе вместо свободного текста.
Firebase AI Logic Hybrid Inference добавляет явный контроль маршрутизации — режимы
PREFER_ON_DEVICE, PREFER_CLOUD, ONLY_ON_DEVICE, ONLY_CLOUD прямо в коде. ADK for Android в первой версии позволяет строить multi-agent workflows с оркестрацией между on-device и cloud моделями.Ещё есть A2UI + Compose Renderer: агент "говорит UI", Compose рендерит ответ как нативные компоненты. Пока чистый эксперимент, но направление понятное. Вот для чего делается Compose BDUI
Меня больше всего интересует AppFunctions. MCP как стандарт уже работает в десктопных агентах, и Google принесла это на уровень ОС — правильное решение. Вопрос в том, насколько быстро экосистема это подхватит за пределами флагманских приложений и почему не подключать сервер к этому, я использовать интеграцию через приложение
🔗 Источник - Android Dev Blog
#Android #AndroidDev #GoogleIO #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
👎61🔥10 5❤4👍4👏3
🤖 Google анонсировала ADK for Android 0.1.0 вместе с ADK for Kotlin
ADK (Agent Development Kit) - это open-source фреймворк для AI-агентов, и теперь у него есть Android-артефакт с поддержкой on-device моделей.
Ключевая архитектурная идея: облачный оркестратор ведёт диалог с пользователем и координирует работу. Когда нужно обработать приватные данные - документы, брони, личные файлы - он делегирует subagent'у, который работает на устройстве через ML Kit GenAI и AICore. Данные за пределы устройства не уходят.
В стек входят LLM-агенты, sequential agents, MCP tools, session state и long-term memory через Memory service, OpenTelemetry для наблюдаемости.
Можно использовать три варианта моделей:
👉 ML Kit GenAI для on-device Gemini Nano
👉 Firebase AI Logic для облачного Gemini
👉 Google GenAI для быстрого прототипирования.
‼️ ВАЖНО: версия 0.1.0, статус "В активной разработке". Это очень ранний экспериментальный релиз, не для продакшна.
Архитектурный паттерн с разделением на облачный оркестратор и on-device агент выглядит разумно - именно так я бы и хотел видеть подобный инструмент. Но внедрять в прод рано.
🔗 Источник Android Dev Blog
#Android #AI #Gemini
ADK (Agent Development Kit) - это open-source фреймворк для AI-агентов, и теперь у него есть Android-артефакт с поддержкой on-device моделей.
Ключевая архитектурная идея: облачный оркестратор ведёт диалог с пользователем и координирует работу. Когда нужно обработать приватные данные - документы, брони, личные файлы - он делегирует subagent'у, который работает на устройстве через ML Kit GenAI и AICore. Данные за пределы устройства не уходят.
В стек входят LLM-агенты, sequential agents, MCP tools, session state и long-term memory через Memory service, OpenTelemetry для наблюдаемости.
Можно использовать три варианта моделей:
👉 ML Kit GenAI для on-device Gemini Nano
👉 Firebase AI Logic для облачного Gemini
👉 Google GenAI для быстрого прототипирования.
‼️ ВАЖНО: версия 0.1.0, статус "В активной разработке". Это очень ранний экспериментальный релиз, не для продакшна.
Архитектурный паттерн с разделением на облачный оркестратор и on-device агент выглядит разумно - именно так я бы и хотел видеть подобный инструмент. Но внедрять в прод рано.
🔗 Источник Android Dev Blog
#Android #AI #Gemini
👎34👍13 2❤1
10 июня в издательстве «Питер» выходит «Object Oriented Design. Подготовка к сложному интервью» Алекса Сюя — автора бестселлера про System Design и бывшего инженера Twitter, Apple, Zynga и Oracle.
🎁 Промокод
broadcast — скидка 5% на книги издательства "Питер"!#реклама
Please open Telegram to view this post
VIEW IN TELEGRAM
👎13👍10❤2
В ближайших постах я пройдусь по основам адаптивности интерфейса, а пока вы можете изучить:
👉 Обзор экосистемы адаптивности от Google для Android
👉 Build adaptive apps
👉 Критерии качества адаптивных приложений (3 уровня)
#Android #AndroidDev #UI #Foldable #Планшет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35👎7❤1
Keep rules из сторонних библиотек часто написаны с запасом: разработчик библиотеки не знает, как именно вы её используете, и кладёт широкое
-keep class com.library.** { *; }. R8 видит это и выключает оптимизацию для всего пакета, даже если вашему приложению нужны оттуда три класса. AGP 9.3.0-alpha05 добавил инструмент, который это наконец показывает с цифрами.Configuration Analyzer генерирует HTML-отчёт, в котором по каждому keep rule и по каждой библиотеке видны три метрики:
👉 Shrinking score - процент кода, доступного для удаления неиспользуемых классов и методов
👉 Optimization score - процент кода, доступного для инлайнинга, мёрджинга классов и прочих R8-оптимизаций
👉 Obfuscation score - процент кода, доступного для обфускации имён
Начиная с AGP 9.3.0-alpha05 отчёт генерируется автоматически в build/outputs/mapping/release/configanalyzer.html при каждом билде с квлюченной минификацией. Для AGP 9.2 и ниже нужно при запуске
./gradlew assembleRelease передать системный флаг com.android.tools.r8.dumpkeepradiushtmltodirectory с путём до папки куда сохранить отчет.Помимо широких правил анализатор выделяет ещё два типа мусора:
👉 unused rules, которые не матчат ни один класс в текущем билде (обычно появляются после рефакторинга)
👉 subsumed rules, когда одно широкое правило перекрывает другое и делает его бессмысленным.
‼️ ВАЖНО: требует R8 9.3.7-dev, который идёт в комплекте только с AGP 9.3.0-alpha05. Это ранняя alpha. На продакшн-сборки без тщательной проверки не стоит.
Это первый инструмент с конкретными цифрами по влиянию сторонних библиотек на R8. Раньше это была область догадок и ручного анализа mapping-файлов. Теперь можно прийти к мейнтейнеру с отчётом и показать: вот твоё правило, вот 35% заблокированной оптимизации у нас в проекте. Круто если такой отчет можно будет получить как XML/JSON чтобы встраивать в другие инструменты.
#Android #AndroidDev #R8 #Performance #agp #Произодвительность
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍46👎3❤1
GridCells.Adaptive сам рассчитывает колонки под доступное пространство — ничего не нужно задавать вручную:
LazyVerticalGrid(
columns = GridCells.Adaptive(minSize = 160.dp),
modifier = Modifier.fillMaxSize()
) {
items(list) { ItemCard(it) }
}
Но почти всегда забывают про пагинацию.
pageSize хардкодят, и это ломает всю адаптивность. На планшете с 4 колонками те же 20 элементов — это 5 строк. Пользователь упирается в конец страницы раньше чем успел проскроллить.Правильно — считать
pageSize от реального числа колонок:BoxWithConstraints {
val columns = (maxWidth / 160.dp)
.toInt().coerceAtLeast(1)
val rows = (maxHeight / 120.dp)
.toInt().coerceAtLeast(1)
val pageSize = columns * rows
val items = remember(pageSize) {
Pager(PagingConfig(pageSize = pageSize)) { MyPagingSource() }
}.flow.collectAsLazyPagingItems()
LazyVerticalGrid(
columns = GridCells.Adaptive(minSize = 160.dp)
) {
items(items.itemCount) { ItemCard(items[it]) }
}
}На смартфоне выйдет ~10 элементов, на планшете ~30. Никаких магических чисел — только математика от реального пространства.
Самый хороший пример тут - галерея. Они показывают адаптивную сетку контента и имеет возможность настройки другого расположения элементов
🔗 Lazy lists and grids — Android Developers
#Compose #Android #AndroidDev #Ui #Adaptive #Адаптивность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54❤8👎7🎉3