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

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

4.2.2 (июнь 2021 г.)

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

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. В предыдущих версиях в комплект Studio входил JDK 8. Однако в версии 4.2 вместо него теперь входит JDK 11. Использование нового встроенного JDK для запуска Gradle может привести к некоторой несовместимости или повлиять на производительность JVM из-за изменений в сборщике мусора. Эти проблемы описаны в примечаниях к выпуску AGP .

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

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

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

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

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

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

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

Выполните команду в редакторе запросов.

Автономный режим

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Трассировка системы Частота ЦП

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

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

Для получения более подробной информации см. раздел «Проверка активности ЦП с помощью профилировщика ЦП» .

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

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

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

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

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

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

Функция трассировки стека R8 теперь доступна в инструментах командной строки.

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

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

Для получения информации об использовании см. раздел R8 retrace в руководстве пользователя.

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

Для упрощения тестирования приложений на разных устройствах и уровнях 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 и выше теперь можно добавлять статические поля типа final primitive, а затем развертывать эти изменения в работающем приложении, нажав кнопку « Применить изменения кода». значок «Применить изменения кода» или Применить изменения и перезапустить действие Значок «Применить изменения и перезапустить действие» .

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

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

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

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

Kotlin 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

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

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

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

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

Windows

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

macOS

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

Linux

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

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