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

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

Для получения информации об этих и других обновлениях Project Marble, прочтите сообщение в блоге разработчиков Android или разделы ниже.

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

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

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

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

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

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

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

Проект «Мрамор»: Состояние системы

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

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

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

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

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

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

Проблемы с памятью в Android Studio иногда сложно воспроизвести и сообщить о них. Чтобы помочь решить эту проблему, Android Studio позволяет создать отчет об использовании памяти, выбрав в строке меню «Справка» > «Анализ использования памяти» . После этого IDE локально очистит данные от личной информации, прежде чем спросить, хотите ли вы отправить их команде Android Studio для определения источника проблем с памятью. Для получения дополнительной информации см. раздел «Создание отчета об использовании памяти» .

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

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

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

Теперь Android Studio автоматически проверяет, исключены ли определенные каталоги проекта из сканирования антивирусом в реальном времени. Если можно внести корректировки для повышения производительности сборки, Android Studio уведомит вас и предоставит инструкции по оптимизации конфигурации антивируса. Для получения дополнительной информации см. раздел «Минимизация влияния антивирусного программного обеспечения на скорость сборки» .

Проект «Мрамор»: Полировка с выразительным эффектом

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

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

Функция «Применить изменения» позволяет вносить изменения в код и ресурсы работающего приложения без его перезапуска — а в некоторых случаях и без перезапуска текущей активности. «Применить изменения» реализует совершенно новый подход к сохранению состояния приложения. В отличие от функции «Мгновенный запуск», которая переписывала байт-код APK-файла, «Применить изменения» переопределяет классы на лету, используя инструменты среды выполнения, поддерживаемые в 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 в панели «Атрибуты» появляется новый раздел «Ограничения» , в котором отображаются взаимосвязи ограничений выбранного компонента пользовательского интерфейса. Вы можете выбрать ограничение либо на рабочей области проектирования, либо из списка ограничений, чтобы выделить ограничение в обеих областях.

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

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

Аналогичным образом, теперь вы можете удалить ограничение, выделив его и нажав клавишу 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. Эта функция упрощает настройку сборки для каждого модуля и может также повысить производительность синхронизации 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 была обновлена ​​с учетом улучшений, заимствованных из 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: