Android Studio 3.5 (август 2019 г.)

Android Studio 3.5 — это крупный релиз и результат Project Marble. Начиная с выпуска Android Studio 3.3 , инициатива Project Marble охватила несколько релизов, которые фокусируются на улучшении трех основных областей IDE: работоспособность системы , улучшение функций и исправление ошибок.

Информацию об этих и других обновлениях Project Marble можно найти в блоге разработчиков Android или в разделах ниже.

Мы также хотим поблагодарить всех членов нашего сообщества , которые помогли с этим релизом.

3.5.3 (декабрь 2019 г.)

Это небольшое обновление включает в себя исправление различных ошибок и улучшение производительности.

3.5.2 (ноябрь 2019 г.)

Это небольшое обновление включает в себя различные исправления ошибок и улучшения производительности. Чтобы увидеть список заметных исправлений ошибок, прочитайте соответствующий пост в блоге Release Updates .

3.5.1 (октябрь 2019 г.)

Это небольшое обновление включает в себя различные исправления ошибок и улучшения производительности. Чтобы увидеть список заметных исправлений ошибок, прочитайте соответствующий пост в блоге Release Updates .

Проект Marble: Здоровье системы

В этом разделе описываются изменения в Android Studio 3.5, направленные на улучшение работоспособности системы.

Рекомендуемые настройки памяти

Android Studio теперь уведомляет вас, если обнаруживает, что вы можете повысить производительность, увеличив максимальный объем оперативной памяти, который ваша ОС должна выделять для процессов Android Studio, таких как ядро ​​IDE, демон Gradle и демон Kotlin. Вы можете либо принять рекомендуемые настройки, щелкнув ссылку действия в уведомлении, либо вручную настроить эти настройки, выбрав Файл > Настройки (или Android Studio > Настройки в macOS), а затем найти раздел Настройки памяти в разделе Внешний вид и поведение > Настройки системы . Чтобы узнать больше, см. Максимальный размер кучи .

Уведомление о рекомендуемых настройках памяти.

Уведомление о рекомендуемых настройках памяти.

Отчет об использовании памяти

Проблемы с памятью в Android Studio иногда трудно воспроизвести и сообщить о них. Чтобы помочь решить эту проблему, Android Studio позволяет вам создать отчет об использовании памяти, нажав Help > Analyze Memory Usage в строке меню. Когда вы это делаете, IDE локально очищает данные от личной информации, прежде чем спросить, хотите ли вы отправить их команде Android Studio, чтобы помочь определить источник проблем с памятью. Чтобы узнать больше, см. Запуск отчета об использовании памяти .

Отчет об использовании памяти.

Отчет об использовании памяти.

Windows: Оптимизация ввода-вывода антивирусных файлов

Android Studio теперь автоматически проверяет, исключены ли определенные каталоги проектов из сканирования антивирусом в реальном времени. Когда можно внести изменения для повышения производительности сборки, Android Studio уведомит вас и предоставит инструкции по оптимизации конфигурации антивируса. Чтобы узнать больше, см. Минимизация влияния антивирусного ПО на скорость сборки .

Проект Мрамор: Полировка деталей

В этом разделе описываются изменения в Android Studio 3.5, направленные на улучшение существующих функций.

Применить изменения

Apply Changes позволяет вам отправлять изменения кода и ресурсов в работающее приложение без перезапуска приложения, а в некоторых случаях и без перезапуска текущей активности. Apply Changes реализует совершенно новый подход к сохранению состояния вашего приложения. В отличие от Instant Run, который переписывал байт-код вашего APK, Apply Changes переопределяет классы на лету, используя инструментарий среды выполнения, поддерживаемый в Android 8.0 (уровень API 26) или выше.

Чтобы узнать больше, см. раздел Применить изменения .

Кнопки панели инструментов для применения изменений.

Кнопки панели инструментов для применения изменений.

Процесс развертывания приложения

В IDE появилось новое раскрывающееся меню, позволяющее быстро выбрать устройство, на котором вы хотите развернуть свое приложение. Это меню также включает новую опцию, позволяющую запускать приложение на нескольких устройствах одновременно.

Раскрывающееся меню целевого устройства.

Раскрывающееся меню целевого устройства.

Улучшенная синхронизация Gradle и обнаружение кэша

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

Улучшен вывод ошибок сборки

Сборка Значок окна сборки Окно теперь предоставляет улучшенные отчеты об ошибках, такие как ссылка на файл и строка с сообщенной ошибкой, для следующих процессов сборки:

  • Компиляция и компоновка AAPT
  • R8 и ProGuard
  • Дексинг
  • Объединение ресурсов
  • Анализ XML-файла
  • Компиляция Javac, Kotlinc и CMake

Модернизации проекта

Улучшенный опыт обновления для предоставления дополнительной информации и действий, которые помогут вам обновить IDE и плагин Android Gradle. Например, больше ошибок синхронизации и сборки включают действия, которые помогут вам смягчить ошибки при обновлении.

Важно помнить, что вы можете обновить IDE независимо от других компонентов, таких как плагин Android Gradle. Таким образом, вы можете безопасно обновить IDE, как только появится новая версия, а другие компоненты обновить позже.

Редактор макетов

Android Studio 3.5 включает в себя ряд улучшений визуализации макета, управления и взаимодействия.

При работе с ConstraintLayout новый раздел Constraints на панели Attributes перечисляет связи ограничений выбранного компонента пользовательского интерфейса. Вы можете выбрать ограничение либо из области проектирования, либо из списка ограничений, чтобы выделить ограничение в обеих областях.

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

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

Аналогично, теперь вы можете удалить ограничение, выбрав его и нажав клавишу Delete . Вы также можете удалить ограничение, удерживая клавишу Control ( Command на macOS) и нажав на якорь ограничения. Обратите внимание, что когда вы удерживаете клавишу Control или Command и наводите курсор на якорь, все связанные ограничения становятся красными, что означает, что вы можете щелкнуть, чтобы удалить их.

Когда выбрано представление, вы можете создать ограничение, нажав на любой из значков + в разделе Виджет ограничения на панели Атрибуты , как показано на следующем изображении. При создании нового ограничения Редактор макетов теперь выбирает и выделяет ограничение, предоставляя немедленную визуальную обратную связь для того, что вы только что добавили.

Анимация, показывающая, как использовать виджет ограничений для создания ограничений.

Использование виджета ограничений для создания ограничений.

При создании ограничения редактор макетов теперь показывает только подходящие опорные точки, которые можно ограничить. Ранее редактор макетов выделял все опорные точки на всех представлениях, независимо от того, можно ли ограничить их. Кроме того, синяя накладка теперь выделяет цель ограничения. Такое выделение особенно полезно при попытке ограничить компонент, который перекрывает другой.

Анимация, показывающая, как создать ограничение для перекрывающегося компонента в Android Studio 3.4.

Создание ограничения для перекрывающегося компонента в Android Studio 3.4.

Анимация, показывающая, как создать ограничение для перекрывающегося компонента в Android Studio 3.5.

Создание ограничения для перекрывающегося компонента в Android Studio 3.5.

Помимо вышеперечисленных обновлений, Android Studio 3.5 также содержит следующие улучшения редактора макетов:

  • Виджет ограничений и раскрывающийся список полей по умолчанию теперь позволяют использовать ресурсы измерений для полей.
  • В панели инструментов редактора макетов обновлен список устройств, определяющих размер поверхности дизайна. Кроме того, улучшено поведение привязки при изменении размера, а маркеры изменения размера на поверхности дизайна теперь всегда видны. При изменении размера появляются новые наложения, которые показывают общие размеры устройств.
  • Редактор макетов имеет новую цветовую схему, которая улучшает согласованность и снижает контраст между компонентами, текстом и ограничениями.
  • Режим чертежа теперь включает поддержку текста для некоторых компонентов, где текст не отображался.

Более подробную информацию об этих изменениях можно найти в статье Android Studio Project Marble: Layout Editor .

Привязка данных

Помимо добавления поддержки обработки инкрементных аннотаций для привязки данных, IDE улучшает функции интеллектуального редактора и производительность при создании выражений привязки данных в XML.

Анимация, демонстрирующая производительность редактора кода в Android Studio 3.4.

Производительность редактора кода в Android Studio 3.4.

Анимация, демонстрирующая производительность редактора кода в Android Studio 3.5.

Улучшена производительность редактирования кода в Android Studio 3.5.

Улучшенная поддержка проектов C/C++

Android Studio 3.5 включает несколько изменений, улучшающих поддержку проектов C/C++.

Улучшения панели «Варианты сборки» для синхронизации отдельных вариантов

Теперь вы можете указать как активный вариант сборки, так и активный ABI на панели Build Variants . Эта функция упрощает конфигурацию сборки для каждого модуля и также может улучшить производительность синхронизации Gradle.

Чтобы узнать больше, см. раздел Изменение варианта сборки .

Панель вариантов сборки, на которой показан выбор одного варианта с помощью ABI.

Панель вариантов сборки с выбором одного варианта с помощью ABI.

Параллельные версии NDK

Теперь вы можете использовать несколько версий NDK бок о бок. Эта функция дает вам больше гибкости при настройке ваших проектов, например, если у вас есть проекты, которые используют разные версии NDK на одной машине.

Если ваш проект использует плагин Android Gradle 3.5.0 или выше, вы также можете указать версию NDK, которую должен использовать каждый модуль в вашем проекте. Вы можете использовать эту функцию для создания воспроизводимых сборок и устранения несовместимостей между версиями NDK и плагином Android Gradle.

Более подробную информацию см. в разделе Установка и настройка NDK, CMake и LLDB .

Поддержка ChromeOS

Android Studio теперь официально поддерживает устройства ChromeOS, такие как HP Chromebook x360 14, Acer Chromebook 13/Spin 13 и другие, о которых вы можете прочитать в системных требованиях . Чтобы начать, загрузите Android Studio на совместимое устройство ChromeOS и следуйте инструкциям по установке .

Примечание: Android Studio на ChromeOS в настоящее время поддерживает развертывание вашего приложения только на подключенном аппаратном устройстве. Чтобы узнать больше, прочитайте Запуск приложений на аппаратном устройстве .

Условная поставка для функциональных модулей

Условная доставка позволяет вам устанавливать определенные требования к конфигурации устройства для модулей функций, которые будут автоматически загружаться во время установки приложения. Например, вы можете настроить модуль функций, включающий функциональность дополненной реальности (AR), чтобы он был доступен при установке приложения только для устройств, поддерживающих AR.

В настоящее время этот механизм доставки поддерживает управление загрузкой модуля во время установки приложения на основе следующих конфигураций устройства:

  • Аппаратные и программные характеристики устройства, включая версию OpenGL ES
  • Страна пользователя
  • уровень API

Если устройство не соответствует всем указанным вами требованиям, модуль не загружается во время установки приложения. Однако позднее ваше приложение может запросить загрузку модуля по требованию с помощью библиотеки Play Core. Чтобы узнать больше, прочтите раздел Настройка условной доставки .

IntelliJ IDEA 2019.1

Основная среда Android Studio IDE обновлена ​​с учетом улучшений IntelliJ IDEA версии 2019.1 , таких как настройка тем.

Последняя версия IntelliJ, которая была включена в Android Studio, была 2018.3.4. Для получения дополнительной информации об улучшениях из других версий IntelliJ, которые включены в этот выпуск Android Studio, см. следующие обновления исправления ошибок:

Обновления плагина Android Gradle 3.5.0

Информацию о новых возможностях плагина Android Gradle 3.5.0, таких как улучшенная поддержка обработки инкрементных аннотаций и кэшируемых модульных тестов, см. в примечаниях к выпуску .

Участники сообщества

Спасибо всем нашим участникам сообщества, которые помогли нам обнаружить ошибки и другие способы улучшения Android Studio 3.5. В частности, мы хотели бы поблагодарить следующих людей, которые сообщили об ошибках P0 и P1: