Разработчики мобильных приложений часто создают пользовательский интерфейс пошагово, а не сразу. Android Studio поддерживает этот подход с помощью Jetpack Compose, предоставляя инструменты, которые не требуют полной сборки для проверки, изменения значений и проверки конечного результата.
Итерация интерфейса с помощью ИИ
Вы можете использовать ИИ-агента в Android Studio, чтобы итеративно улучшать и преобразовывать интерфейс Compose прямо в режиме предварительного просмотра. Нажмите правой кнопкой мыши на предварительный просмотр Compose и выберите одно из следующих действий ИИ:
- Match UI to target image (Соответствие интерфейса целевому изображению). Выберите этот вариант, чтобы загрузить макет дизайна. Затем агент предлагает изменения в коде, чтобы реализация максимально соответствовала дизайну.
- Преобразование интерфейса. Опишите нужные изменения в интерфейсе, используя запросы на естественном языке, например "измени цвет кнопки на синий".
Изменения в реальном времени
Live Edit – это функция, которая позволяет обновлять composable-функции в эмуляторах и на физических устройствах в реальном времени. Это позволяет реже переключаться между написанием кода и сборкой приложения, чтобы вы могли дольше работать, не отвлекаясь.
В Live Edit есть три режима:
- Вручную. Изменения в коде применяются, когда они отправляются вручную с помощью сочетания клавиш Ctrl + ' (Cmd + ' на macOS).
- "Вручную при сохранении" – изменения в коде применяются, когда они сохраняются вручную с помощью сочетания клавиш Ctrl + S (Cmd + S в macOS).
- Автоматически. Изменения применяются на устройстве или в эмуляторе, когда вы обновляете composable-функцию.
Функция Live Edit предназначена для изменений кода, связанных с интерфейсом и взаимодействием с пользователем. Live Edit не поддерживает такие изменения, как обновление сигнатуры метода, добавление новых методов или изменение иерархии классов. Дополнительную информацию можно найти в разделе Ограничения Live Edit.
Эта функция не заменяет сборку и запуск приложения или применение изменений. Она предназначена для оптимизации рабочего процесса при создании, развертывании и итерации пользовательского интерфейса Compose.
Рекомендуемый рабочий процесс выглядит следующим образом:
- Настройте приложение, чтобы его можно было запустить.
- Используйте Live Edit, пока не потребуется внести изменения, которые не поддерживаются этой функцией, например добавить новые методы во время работы приложения.
- После внесения неподдерживаемого изменения нажмите Выполнить
, чтобы перезапустить приложение и возобновить работу Live Edit.
Начало работы с Live Edit
Чтобы начать, выполните следующие действия, чтобы создать пустое действие Compose, включите Live Edit для вашего проекта и внесите изменения с помощью Live Edit.
Настройте новый проект
Прежде чем начать, убедитесь, что у вас установлена Android Studio Giraffe или более поздняя версия и что уровень API вашего физического устройства или эмулятора не ниже 30.
Откройте Android Studio и выберите New Project (Новый проект) в диалоговом окне Welcome to Android Studio (Добро пожаловать в Android Studio). Если у вас уже открыт проект, вы можете создать новый, выбрав File (Файл) > New (Создать) > New Project (Новый проект).
Выберите шаблон Empty Compose Activity для категории Phone and Tablet и нажмите Next.
Рисунок 3. Шаблоны, которые можно выбрать. Для Live Edit выберите Empty Compose Activity (Пустое действие Compose). В диалоговом окне New Project (Новый проект) укажите название, имя пакета, место сохранения, минимальную версию SDK и язык конфигурации сборки.
Рисунок 4. Пример настроек проекта. Нажмите Готово.
Включить Live Edit
Чтобы включить Live Edit, перейдите в настройки.
- В Windows или Linux выберите File (Файл) > Settings (Настройки) > Editor (Редактор) > Live Edit (Редактирование в реальном времени).
- На устройстве с macOS выберите Android Studio > Settings (Настройки) > Editor (Редактор) > Live Edit (Интерактивное редактирование).
Выберите Live Edit и нужный режим в настройках.
В ручном режиме изменения в коде отправляются каждый раз, когда вы нажимаете Ctrl +' (Cmd +' на macOS). В режиме сохранения вручную изменения в коде применяются каждый раз, когда вы сохраняете их с помощью сочетания клавиш Ctrl + S (Cmd + S в macOS). В автоматическом режиме изменения кода применяются на устройстве или в эмуляторе по мере их внесения.
Рисунок 5. Настройки Live Edit. В редакторе откройте файл
MainActivity, который является точкой входа для вашего приложения.Нажмите Run (Выполнить)
, чтобы развернуть приложение.После включения Live Edit в правом верхнем углу окна инструмента Running Devices (Запущенные устройства) появится зеленая галочка Up-to-date (Обновлено).

Как вносить и проверять изменения
Когда вы вносите поддерживаемые изменения в редакторе, виртуальное или физическое тестовое устройство обновляется автоматически.
Например, измените существующий метод Greeting в MainActivity следующим образом:
@Composable fun Greeting(name: String) { Text( text = "Hello $name!", Modifier .padding(80.dp) // Outer padding; outside background .background(color = Color.Cyan) // Solid element background color .padding(16.dp) // Inner padding; inside background, around text) ) }
Изменения сразу же появятся на тестовом устройстве, как показано на рисунке 6.
Greeting с помощью Live Edit.Устранение неполадок с Live Edit
Если вы не видите изменений на тестовом устройстве, возможно, Android Studio не удалось обновить их. Проверьте, не показывает ли индикатор Live Edit сообщение Out Of Date (Устарело), как показано на рисунке 7. Это указывает на ошибку компиляции. Чтобы узнать больше об ошибке и получить рекомендации по ее устранению, нажмите на индикатор.
Ограничения Live Edit
Ниже приведен список текущих ограничений.
[Только для Android Studio Giraffe и более поздних версий] Для работы Live Edit требуется Compose Runtime 1.3.0 или более поздней версии. Если в проекте используется более ранняя версия Compose, функция Live Edit будет отключена.
[Только для Android Studio Giraffe и более поздних версий] Для работы Live Edit требуется AGP 8.1.0-alpha05 или более поздней версии. Если в вашем проекте используется более ранняя версия AGP, функция Live Edit будет отключена.
Для работы Live Edit требуется физическое устройство или эмулятор с уровнем API 30 или выше.
Live Edit поддерживает только редактирование тела функции. Это значит, что вы не можете изменить название или сигнатуру функции, добавить или удалить функцию или изменить поля, не относящиеся к функции.
При первом изменении функции Compose в файле Live Edit сбрасывает состояние приложения. Это происходит только после первого изменения кода. Состояние приложения не сбрасывается при последующих изменениях кода, которые вы вносите в функции Compose в этом файле.
Классы, измененные с помощью Live Edit, могут снизить производительность. Запустите приложение. Если вы оцениваете его эффективность, используйте чистую конечную сборку.
Чтобы отладчик мог работать с классами, которые вы изменили с помощью Live Edit, необходимо выполнить полный запуск.
При редактировании работающего приложения с помощью Live Edit может произойти сбой. В этом случае вы можете повторно развернуть приложение с помощью кнопки Run (Запустить)
.Live Edit не выполняет никаких манипуляций с байт-кодом, определенных в файле сборки проекта, например манипуляций с байт-кодом, которые будут применяться при сборке проекта с использованием параметров в меню Build (Сборка) или нажатием кнопок Build (Сборка) или Run (Запуск).
Функции, не являющиеся composable-функциями, обновляются на устройстве или в эмуляторе, и запускается полная рекомпозиция. При полной рекомпозиции обновленная функция может не вызываться. Для других функций необходимо запустить обновленные функции или перезапустить приложение.
При перезапуске приложения Live Edit не возобновляется. Вам нужно будет запустить приложение снова.
Live Edit поддерживает только отладочные процессы.
Live Edit не поддерживает проекты, в которых используются специальные значения для
moduleNameв разделеkotlinOptionsконфигурации сборки.Функция Live Edit не работает с развертываниями, в которых используется несколько развертываний. Это означает, что вы не можете развернуть его на одном устройстве, а затем на другом. Live Edit работает только на последнем наборе устройств, на которых было развернуто приложение.
Live Edit работает с развертываниями на нескольких устройствах (развертываниями на нескольких устройствах, которые были созданы с помощью Выбрать несколько устройств в раскрывающемся списке целевых устройств). Однако официально он не поддерживается, и могут возникнуть проблемы. Если у вас возникнут проблемы, сообщите нам.
Функции "Применить изменения" и "Применить изменения кода" несовместимы с Live Edit и требуют перезапуска запущенного приложения.
Live Edit пока не поддерживает проекты Android Automotive.
Часто задаваемые вопросы о Live Edit
Каков текущий статус Live Edit?
Функция Live Edit доступна в Android Studio Giraffe. Чтобы включить ее, выберите File (Файл) > Settings (Настройки) > Editor (Редактор) > Live Edit (Интерактивное редактирование) (Android Studio > Settings (Настройки) > Editor (Редактор) > Live Edit (Интерактивное редактирование) в macOS).
Когда следует использовать Live Edit?
Используйте Live Edit, когда хотите быстро увидеть, как изменения элементов UX (например, модификаторов и анимации) влияют на удобство использования приложения.
Когда не следует использовать Live Edit?
Функция Live Edit предназначена для изменений кода, связанных с интерфейсом и взаимодействием с пользователем. Она не поддерживает такие изменения, как обновление сигнатуры метода, добавление новых методов или изменение иерархии классов. Подробнее об ограничениях Live Edit…
Когда следует использовать предварительную версию Compose?
Используйте Compose Preview при разработке отдельных composable-функций. Функция предварительного просмотра визуализирует элементы Compose и автоматически обновляется, чтобы показать результат изменений в коде. Предварительный просмотр также поддерживает просмотр элементов пользовательского интерфейса в различных конфигурациях и состояниях, таких как темная тема, локали и масштаб шрифта.
Итеративная разработка кода с помощью Compose
Функции Live Edit и Hot Reload для Compose Multiplatform позволяют экономить время и повышать продуктивность при разработке с помощью Compose. Однако они предназначены для разных типов разработки:
Live Edit поддерживает итеративную разработку с помощью Jetpack Compose для приложений для Android. Она позволяет обновлять composable-функции в эмуляторах и на физических устройствах в реальном времени. Эта функция сводит к минимуму переключение контекста между написанием и сборкой приложения, позволяя вам дольше сосредоточиться на написании кода без перерывов.
Горячая перезагрузка Compose выполняет ту же функцию, но поддерживает компьютерные приложения, созданные с помощью Compose Multiplatform. Он позволяет вносить изменения в код пользовательского интерфейса в приложении Compose Multiplatform и видеть результаты в реальном времени, поскольку код перезагружается при каждом изменении.
Хотя эти две функции используют многие технологии в движке Compose и поддерживают множество похожих вариантов использования, они не имеют одинаковых возможностей, поскольку применяются к разным типам разработки Compose.
Если вы разрабатываете приложение для Android, используйте Live Edit, чтобы ускорить процесс разработки. Если вы разрабатываете приложение для ПК с помощью Compose Multiplatform, используйте Compose Hot Reload.
Изменение литералов в реальном времени (устарело)
Android Studio может в реальном времени обновлять некоторые постоянные литералы, используемые в composable-функциях в режиме предварительного просмотра, эмуляторе и на физическом устройстве. Вот некоторые из них:
IntStringColorDpBoolean
Вы можете просматривать постоянные литералы, которые запускают обновления в реальном времени без этапа компиляции, включив оформление литералов с помощью индикатора пользовательского интерфейса Live Edit of literals:
Применение изменений
Функция Применение изменений позволяет обновлять код и ресурсы без повторного развертывания приложения в эмуляторе или на физическом устройстве (с некоторыми ограничениями).
Если вы добавите, измените или удалите composable-функции, то сможете обновить приложение, не развертывая его заново. Для этого нажмите кнопку Apply Code Changes (Применить изменения кода).

Рекомендуем
- Примечание. Текст ссылки показывается, когда JavaScript отключен.
- Как настроить анимацию {:#customize-animations}
- Анимация на основе значений