Android Studio 4.2 (апрель 2021 г.)

Android Studio 4.2 — это основной выпуск, включающий множество новых функций и улучшений.

4.2.2 (июнь 2021 г.)

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

4.2.1 (май 2021 г.)

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

Плагин Android Gradle 4.2.0

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

Совместимость Gradle и изменения конфигурации

При работе в Android Studio инструмент сборки Gradle использует встроенный в состав Studio JDK. В предыдущих выпусках JDK 8 входил в состав Studio. Однако в версии 4.2 вместо этого теперь включен JDK 11. При использовании нового встроенного JDK для запуска Gradle это может привести к некоторой несовместимости или повлиять на производительность JVM из-за изменений в сборщике мусора. Эти проблемы описаны в примечаниях к выпуску AGP .

Возможность оптимизировать время синхронизации Gradle

Чтобы улучшить производительность Gradle Sync, Android Studio пропускает создание списка задач во время синхронизации. Это позволяет Gradle Sync выполняться быстрее и повышает скорость реагирования пользовательского интерфейса для очень больших проектов. Эта опция включена по умолчанию в Android Studio 4.2. Чтобы отключить его, выберите «Файл» > «Настройки» > «Экспериментальный» ( «Настройки» > «Экспериментальный» на Mac) и снимите флажок «Не создавать список задач Gradle во время синхронизации Gradle» .

Инспектор базы данных

Улучшения редактора запросов

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

Редактор инспектора БД

Кроме того, теперь мы предоставляем историю ваших предыдущих запросов. Когда вы нажимаете « Показать историю запросов» Кнопка «Показать историю запросов» {: .inline-icon}, вы должны увидеть список запросов, которые вы ранее выполняли к выбранной в данный момент базе данных. Щелкните запрос в списке, чтобы просмотреть полный запрос в редакторе, и нажмите Enter , чтобы скопировать его в редактор. Затем нажмите «Выполнить» , чтобы выполнить оператор.

Запустить команду в редакторе запросов

Офлайн-режим

В предыдущих версиях Android Studio отключение от процесса приложения при использовании инспектора базы данных приводило к закрытию инспектора и его данных. В Android Studio 4.2 мы добавили возможность продолжать проверку баз данных вашего приложения после отключения процесса, что упрощает отладку вашего приложения после сбоя.

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

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

Помощник по обновлению для AGP

Новый плагин Upgrade Assistant для Android Gradle поможет вам обновить версию AGP для вашего проекта.

Диалоговое окно помощника по обновлению плагина Android Gradle

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

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

Трассировка системы: улучшенные показатели памяти и графики.

В профилировщике ЦП функция «Трассировка системы» теперь включает новые метрики для анализа производительности приложений и включает следующее:

  • Таблица событий. Перечисляет все события трассировки в выбранном в данный момент потоке.

  • БуферОчередь. В разделе «Дисплей» эта новая дорожка показывает количество буферов поверхности приложения BufferQueue (0, 1 или 2), чтобы помочь вам понять состояние буферов изображений при их перемещении между графическими компонентами Android.

    Очередь буфера системной трассировки

  • Частота процессора. В разделе «Ядра ЦП» эта новая дорожка отображает частоту ЦП по ядрам, указывая, насколько интенсивно работает каждое ядро.

    Частота процессора системной трассировки

  • Память процесса (RSS). В этом новом окне отображается объем физической памяти, используемый приложением в данный момент.

    Память процесса трассировки системы (RSS)

Дополнительные сведения см. в разделе Проверка активности ЦП с помощью CPU Profiler .

Новое действие обновления инспектора макетов

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

Чтобы вручную загрузить снимок данных пользовательского интерфейса из вашего приложения, сначала отключите параметр «Живые обновления» . Затем вы можете нажать кнопку «Обновить». Кнопка {:.inline-icon}, чтобы сделать новый снимок стека пользовательского интерфейса для проверки. Инспектор макетов теперь запоминает ваше предпочтение включать или отключать обновления Live между сеансами.

Поддержка безопасных аргументов

Safe Args — это плагин Gradle, который генерирует простые классы объектов и конструкторов для типобезопасной навигации и доступа к любым связанным аргументам. Android Studio теперь включает более широкую поддержку при работе с Safe Args, как описано ниже:

  • Автодополнение для направлений, аргументов и различных классов компоновщика.
  • Поддержка плагинов безопасных аргументов Java и Kotlin.
  • Навигация от источника к XML

Отслеживание R8 теперь доступно в инструментах командной строки

R8 retrace, доступный в версии 4.0 инструментов командной строки, представляет собой автономный инструмент для получения исходной трассировки стека из запутанной трассировки стека.

Вы можете скачать этот пакет с помощью менеджера SDK, который устанавливает ретрейсинг R8 в android_sdk/cmdline-tools . Кроме того, вы можете загрузить автономный пакет инструментов командной строки .

Информацию об использовании см. в разделе «Отслеживание R8» в руководстве пользователя.

Развертывание на нескольких устройствах

Чтобы упростить тестирование приложений на разных устройствах и уровнях API, теперь вы можете развернуть свое приложение на нескольких устройствах или эмуляторах одновременно, выполнив следующие действия:

  1. Выберите «Выбрать несколько устройств» в раскрывающемся меню целевого устройства (в верхней центральной части IDE).

    Раскрывающийся список целевого устройства

  2. Выберите целевые устройства и нажмите «ОК» .

    Диалоговое окно изменения набора устройств

  3. Запустите свое приложение.

Новая removable настройка для функциональных модулей.

Плагин Android Gradle 4.2 использует bundletool 1.0.0, который вносит изменение в поведение приложений, использующих функциональные модули: любой функциональный модуль, указанный как dist:install-time который явно не помечен как dist:removable по умолчанию станет неудаляемым. Этот новый параметр оптимизирует объединение модулей времени установки с базовым модулем, потенциально повышая производительность некоторых приложений.

Чтобы функциональные модули оставались съемными, установите dist:removable="true" для любого модуля, который вы хотите удалить.

Дополнительные сведения об этом новом параметре см. в документации по тегу dist:removable в документации по манифесту функционального модуля .

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

Чтобы помочь вам работать более продуктивно при работе над приложением, мы внесли следующие улучшения в процедуру применения изменений для устройств под управлением Android 11 или более поздней версии:

Поддержка дополнительных изменений кода

Для устройств под управлением Android 11 или более поздней версии теперь вы можете добавлять статические окончательные примитивные поля, а затем развертывать эти изменения в работающем приложении, нажав кнопку «Применить изменения кода». Значок «Применить изменения кода» или применить изменения и перезапустить действие. Значок «Применить изменения и перезапустить действие» .

Теперь вы также можете добавлять ресурсы, а затем развертывать эти изменения в работающем приложении на устройствах Android 11, нажав «Применить изменения и перезапустить действие». Значок «Применить изменения и перезапустить действие» .

Обновлены мастера создания нового проекта и нового модуля.

Мастера создания нового проекта и нового модуля были обновлены, чтобы упростить просмотр, выбор шаблона и ввод информации о новом проекте или модуле.

Возможность импорта пакета .JAR/.AAR из мастера создания нового модуля также была удалена. Чтобы импортировать JAR или AAR в свой проект, используйте вместо этого диалоговое окно «Структура проекта» .

Котлин 1.4.31

Android Studio 4.2 включает Kotlin 1.4.31. Ознакомьтесь с журналом изменений Kotlin 1.4.0, чтобы просмотреть основные изменения.

Переменная среды ANDROID_SDK_HOME устарела

Переменная среды ANDROID_SDK_HOME устарела и заменена на ANDROID_PREFS_ROOT . Дополнительные сведения см. в разделе Переменные среды эмулятора .

Известные проблемы с Android Studio 4.2

В этом разделе описаны известные проблемы, существующие в Android Studio 4.2. Полный список можно найти на странице Известные проблемы .

Android Studio 4.2.0 генерирует проекты с неправильной версией Kotlin: «1.5.0-release-764».

Если вы используете Android Studio 4.2.0 и обновились до плагина Kotlin 1.5.0, новые проекты Kotlin, созданные Studio, не удастся собрать из-за следующей ошибки синхронизации Gradle:

Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0-release-764.

В качестве обходного пути замените 1.5.0-release-764 на 1.5.0 в файлах build.gradle проекта.

Ошибка при использовании разных паролей для ключа и хранилища ключей.

Начиная с версии 4.2, Android Studio теперь работает на JDK 11. Это обновление вызывает базовое изменение поведения, связанное с подписанием ключей.

Когда вы переходите к «Сборка» > «Создать подписанный пакет / APK» и пытаетесь настроить подпись приложения для пакета приложений или APK, ввод разных паролей для ключа и хранилища ключей может привести к следующей ошибке:

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

Чтобы обойти эту проблему, введите один и тот же пароль для ключа и хранилища ключей.

Android Studio не запускается после установки версии 4.2

Studio пытается импортировать предыдущие .vmoptions и очистить их для работы со сборщиком мусора, используемым JDK 11. Если этот процесс завершится неудачей, IDE может не запуститься для некоторых пользователей, которые установили собственные параметры виртуальной машины в файле .vmoptions .

Чтобы обойти эту проблему, мы рекомендуем закомментировать пользовательские параметры в .vmoptions (используя символ # ). Файл .vmoptions можно найти в следующих местах:

Окна

C:\Users\YourUserName\AppData\<var>[Local|Roaming]</var>\Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Линукс

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

Если Studio по-прежнему не запускается после использования этого обходного пути, см. раздел Studio не запускается после обновления ниже.