Android Studio 3.6 (февраль 2020 г.)
Android Studio 3.6 — это крупный релиз, включающий множество новых функций и улучшений.
Мы также хотели бы поблагодарить всех участников нашего сообщества , которые помогли в подготовке этого релиза.
3.6.3 (апрель 2020 г.)
Это небольшое обновление включает в себя исправление различных ошибок. Чтобы ознакомиться со списком наиболее важных исправлений, прочитайте соответствующую статью в блоге «Обновления релизов» .
3.6.2 (март 2020 г.)
Это небольшое обновление включает в себя исправление различных ошибок. Чтобы ознакомиться со списком наиболее важных исправлений, прочитайте соответствующую статью в блоге «Обновления релизов» .
3.6.1 (февраль 2020 г.)
Это небольшое обновление включает в себя исправление различных ошибок. Чтобы ознакомиться со списком наиболее важных исправлений, прочитайте соответствующую статью в блоге «Обновления релизов» .
Инструменты проектирования
В этой версии Android Studio внесены обновления в несколько инструментов проектирования, включая редактор макетов и менеджер ресурсов.
Разделение экрана и масштабирование в редакторах дизайна

В этот релиз включены следующие обновления для редакторов визуального дизайна:
Редакторы дизайна, такие как редактор макета и редактор навигации, теперь предоставляют режим разделенного экрана, позволяющий одновременно видеть как режим дизайна , так и режим кода пользовательского интерфейса. В правом верхнем углу окна редактора теперь расположены три кнопки.
для переключения между вариантами просмотра:- Чтобы включить режим разделенного экрана, нажмите на значок «Разделить» .
. - Чтобы включить отображение исходного XML-кода, нажмите значок «Источник» .
. - Чтобы включить режим проектирования, нажмите на значок «Дизайн» .
.
- Чтобы включить режим разделенного экрана, нажмите на значок «Разделить» .
Элементы управления масштабированием и панорамированием в редакторах дизайна перемещены на плавающую панель в правом нижнем углу окна редактора.
Для получения более подробной информации см. раздел «Создание пользовательского интерфейса с помощью редактора макетов» .
Вкладка «Ресурсы палитры цветов»
Чтобы помочь вам быстро обновлять значения цветовых ресурсов в вашем приложении при использовании палитры цветов в XML-файле или инструментов проектирования, IDE теперь автоматически заполняет значения цветовых ресурсов.

Менеджер ресурсов
Диспетчер ресурсов содержит следующие обновления:
- Диспетчер ресурсов теперь поддерживает большинство типов ресурсов.
- При поиске ресурса менеджер ресурсов теперь отображает результаты из всех модулей проекта. Ранее поиск выдавал результаты только из выбранного модуля.
- Кнопка фильтра позволяет просматривать ресурсы из локальных зависимых модулей, внешних библиотек и фреймворка Android. Вы также можете использовать фильтр для отображения атрибутов темы.
- Теперь вы можете переименовывать ресурсы во время импорта, щелкнув по текстовому полю над ресурсом.
Для получения более подробной информации см. раздел «Управление ресурсами пользовательского интерфейса вашего приложения с помощью диспетчера ресурсов» .
Обновления плагина Android Gradle
Последняя версия плагина Android Gradle включает множество обновлений, в том числе оптимизацию скорости сборки, поддержку плагина публикации Maven и поддержку View Binding. Для получения более подробной информации ознакомьтесь с полными примечаниями к выпуску .
Просмотреть переплет
Функция привязки представлений позволяет упростить написание кода, взаимодействующего с представлениями, путем генерации класса привязки для каждого XML-файла разметки. Эти классы содержат прямые ссылки на все представления, имеющие идентификатор в соответствующей разметке.
Поскольку метод findViewById() заменяет `findViewById()`, привязка представления исключает риск возникновения исключений NullPointerException из-за недопустимого идентификатора представления.
Для включения привязки представлений необходимо использовать плагин Android Gradle версии 3.6.0 или выше и добавить следующее в файл build.gradle каждого модуля:
Классный
android { buildFeatures.viewBinding = true }
Котлин
android { buildFeatures.viewBinding = true }
Применить изменения
Теперь вы можете добавить класс, а затем применить это изменение кода к работающему приложению, нажав либо «Применить изменения кода» , либо «Применить изменения и перезапустить действие» .
Чтобы узнать больше о различиях между этими двумя действиями, см. раздел «Применить изменения» .
Переработайте пункт меню, чтобы включить поддержку мгновенных приложений.
Теперь вы можете мгновенно включить базовый модуль в любое время после создания проекта приложения следующим образом:
- Откройте панель «Проект» , выбрав в строке меню пункт «Вид» > «Окна инструментов» > «Проект» .
- Щелкните правой кнопкой мыши по базовому модулю, обычно называемому «app», и выберите «Рефакторинг» > «Включить поддержку мгновенных приложений» .
- В появившемся диалоговом окне выберите базовый модуль из выпадающего меню.
- Нажмите ОК .
Примечание: Возможность мгновенного включения базового модуля приложения в мастере создания нового проекта удалена.
Чтобы узнать больше, прочтите «Обзор Google Play Instant» .
Деобфускация байт-кода классов и методов в APK Analyzer
При использовании APK Analyzer для анализа DEX-файлов деобфускацию байт-кода классов и методов можно выполнить следующим образом:
- Выберите в строке меню пункт «Сборка» > «Анализировать APK» .
- В появившемся диалоговом окне перейдите к нужному для проверки APK-файлу и выберите его.
- Нажмите «Открыть» .
- В программе APK Analyzer выберите DEX-файл, который хотите проверить.
- В программе просмотра файлов DEX загрузите файл сопоставления ProGuard для анализируемого вами APK-файла.
- Щелкните правой кнопкой мыши по классу или методу, который хотите проверить, и выберите «Показать байт-код» .
Встроенные инструменты
Следующие обновления поддерживают разработку нативных приложений (C/C++) в Android Studio.
поддержка Kotlin
Следующие функции NDK в Android Studio, ранее поддерживаемые в Java, теперь также поддерживаются в Kotlin:
Переход от объявления JNI к соответствующей функции реализации на C/C++. Просмотреть это соответствие можно, наведя курсор на маркер элемента C или C++ рядом с номером строки в файле управляемого исходного кода.
Автоматическое создание заглушки для реализации функции JNI. Сначала определите объявление JNI, а затем введите «jni» или имя метода в файле C/C++ для активации.

Неиспользуемые функции нативной реализации выделяются в исходном коде как предупреждение. Объявления JNI с отсутствующими реализациями также выделяются как ошибка.
При переименовании (рефакторинге) функции нативной реализации обновляются все соответствующие объявления JNI. Переименование объявления JNI обновляет функцию нативной реализации.
Проверка подписи для реализаций JNI с неявной привязкой.
Другие улучшения JNI
В редакторе кода Android Studio теперь реализована более удобная система разработки с использованием JNI, включая улучшенные подсказки типов, автозавершение кода, проверку кода и рефакторинг.
Перезагрузка APK для нативных библиотек {:#3.6-reload-apk}
Вам больше не нужно создавать новый проект при обновлении APK-файла вне IDE. Android Studio обнаруживает изменения в APK-файле и предоставляет возможность его повторного импорта.

Прикрепляйте исходные коды APK, содержащие только Kotlin.
Теперь можно подключать внешние APK-файлы, написанные только на Kotlin, при профилировании и отладке предварительно скомпилированных APK-файлов. Подробнее см. в разделе «Подключение исходных файлов Kotlin/Java» .
Обнаружение утечек в профилировщике памяти
При анализе дампа памяти в профилировщике памяти теперь можно фильтровать данные профилирования, которые, по мнению Android Studio, могут указывать на утечки памяти для экземпляров Activity и Fragment в вашем приложении.
Фильтр отображает следующие типы данных:
- Экземпляры
Activity, которые были уничтожены, но на которые всё ещё ссылаются. - Экземпляры
Fragment, у которых отсутствует действительныйFragmentManager, но которые всё ещё используются в качестве ссылок.
Прикрепляйте исходные коды APK, содержащие только Kotlin.
Теперь можно подключать внешние APK-файлы, написанные только на Kotlin, при профилировании и отладке предварительно скомпилированных APK-файлов. Подробнее см. в разделе «Подключение исходных файлов Kotlin/Java» .
Обнаружение утечек в профилировщике памяти
При анализе дампа памяти в профилировщике памяти теперь можно фильтровать данные профилирования, которые, по мнению Android Studio, могут указывать на утечки памяти для экземпляров Activity и Fragment в вашем приложении.
Фильтр отображает следующие типы данных:
- Экземпляры
Activity, которые были уничтожены, но на которые всё ещё ссылаются. - Экземпляры
Fragment, у которых отсутствует действительныйFragmentManager, но которые всё ещё используются в качестве ссылок.
В некоторых ситуациях, например, в следующих, фильтр может давать ложные срабатывания:
-
Fragmentсоздан, но ещё не использован. -
Fragmentкэшируется, но не как частьFragmentTransaction.
Для использования этой функции сначала сделайте дамп кучи или импортируйте файл дампа кучи в Android Studio. Чтобы отобразить фрагменты и действия, которые могут вызывать утечку памяти, установите флажок « Утечки активности/фрагмента» на панели дампа кучи в профилировщике памяти.

Фильтрация дампа памяти на предмет утечек памяти.
Эмуляторы
Android Studio 3.6 позволяет воспользоваться преимуществами ряда обновлений, включенных в эмулятор Android версии 29.2.7 и выше, как описано ниже.
Улучшена поддержка определения местоположения.
Эмулятор Android версии 29.2.7 и выше обеспечивает дополнительную поддержку эмуляции GPS-координат и информации о маршруте. При открытии расширенных элементов управления эмулятора параметры на вкладке «Местоположение» теперь организованы в две вкладки: «Отдельные точки» и «Маршруты» .
Отдельные точки
На вкладке «Отдельные точки » вы можете использовать веб-просмотр Google Maps для поиска точек интереса, так же, как и при использовании Google Maps на телефоне или в браузере. При поиске или щелчке по местоположению на карте вы можете сохранить его, выбрав «Сохранить точку» в нижней части карты. Все сохраненные местоположения отображаются в правой части окна расширенных элементов управления .
Чтобы установить местоположение эмуляторов в выбранное вами место на карте, нажмите кнопку «Установить местоположение» в правом нижнем углу окна «Расширенные элементы управления» .
.
Маршруты
Аналогично вкладке «Отдельные точки» , вкладка «Маршруты» предоставляет веб-представление Google Maps, которое можно использовать для создания маршрута между двумя или более точками. Чтобы создать и сохранить маршрут, выполните следующие действия:
- В режиме карты используйте текстовое поле для поиска первого пункта назначения на вашем маршруте.
- Выберите местоположение из результатов поиска.
- Нажмите кнопку «Навигация» .
- Выберите начальную точку маршрута на карте.
- (Необязательно) Нажмите «Добавить пункт назначения» , чтобы добавить дополнительные остановки к вашему маршруту.
- Сохраните свой маршрут, нажав кнопку «Сохранить маршрут» на карте.
- Укажите название маршрута и нажмите «Сохранить» .
Чтобы имитировать движение эмулятора по сохраненному маршруту, выберите маршрут из списка сохраненных маршрутов и нажмите кнопку «Воспроизвести маршрут» в правом нижнем углу окна расширенных элементов управления . Чтобы остановить имитацию, нажмите кнопку «Остановить маршрут» .
.
Чтобы эмулятор непрерывно следовал по указанному маршруту, включите переключатель рядом с пунктом «Повторное воспроизведение» . Чтобы изменить скорость следования эмулятора по указанному маршруту, выберите параметр из раскрывающегося списка «Скорость воспроизведения» .
Поддержка нескольких дисплеев
Теперь эмулятор Android позволяет развертывать ваше приложение на нескольких дисплеях, поддерживающих настраиваемые размеры, что помогает тестировать приложения, поддерживающие многооконный и многоэкранный режимы . Во время работы виртуального устройства вы можете добавить до двух дополнительных дисплеев следующим образом:
Откройте расширенные элементы управления и перейдите на вкладку «Дисплеи» .
Добавьте еще один дисплей, нажав кнопку «Добавить дополнительный дисплей» .
В выпадающем меню в разделе «Дополнительные дисплеи» выполните одно из следующих действий:
Выберите одно из предустановленных соотношений сторон.
Выберите «Пользовательский» и задайте высоту , ширину и разрешение (dpi) для вашего пользовательского дисплея.
(Необязательно) Нажмите «Добавить дополнительный дисплей» , чтобы добавить третий дисплей.
Нажмите «Применить изменения », чтобы добавить указанные дисплеи к работающему виртуальному устройству.

Новые виртуальные устройства и шаблоны проектов для Android Automotive OS.
При создании нового проекта в Android Studio теперь можно выбрать один из трех шаблонов на вкладке «Автомобильные устройства» в мастере создания нового проекта : «Без активности» , «Медиасервис» и «Сервис сообщений» . Для существующих проектов можно добавить поддержку устройств Android Automotive, выбрав в строке меню «Файл» > «Создать» > «Новый модуль » и выбрав «Автомобильный модуль» . Затем мастер создания нового модуля проведет вас через процесс создания нового модуля с использованием одного из шаблонов проекта Android Automotive.
.
Кроме того, теперь вы можете создать виртуальное устройство Android (AVD) для устройств Android Automotive OS, выбрав один из следующих вариантов на вкладке Automotive в мастере настройки виртуального устройства .
- Polestar 2 : Создайте AVD, который эмулирует головное устройство Polestar 2.
- Автомобильная тематика (1024p альбомная ориентация) : Создайте AVD для стандартных автомобильных головных устройств Android с разрешением 1024 x 768 пикселей.
.
Возобновляемая загрузка SDK
При загрузке компонентов и инструментов SDK с помощью SDK Manager, Android Studio теперь позволяет возобновлять прерванные загрузки (например, из-за проблем с сетью) вместо начала загрузки с самого начала. Это улучшение особенно полезно для больших файлов, таких как эмулятор Android или образы системы, когда подключение к интернету нестабильно.
Кроме того, если у вас запущена задача загрузки SDK в фоновом режиме, теперь вы можете приостановить или возобновить загрузку, используя элементы управления в строке состояния.

В строке состояния отображается задача фоновой загрузки с новыми элементами управления, позволяющими приостанавливать или возобновлять загрузку.
Win32 устарел
После декабря 2019 года 32-битная версия Android Studio для Windows перестанет получать обновления, а после декабря 2020 года поддержка программы прекратится. Вы можете продолжать использовать Android Studio. Однако для получения дополнительных обновлений обновите свою рабочую станцию до 64-битной версии Windows.
Чтобы узнать больше, прочтите статью в блоге об устаревании 32-битной версии Windows.
Новая опция для оптимизации времени синхронизации Gradle.
В предыдущих версиях Android Studio получала список всех задач Gradle во время синхронизации Gradle. Для больших проектов получение списка задач могло привести к замедлению синхронизации.
Для повышения производительности синхронизации Gradle перейдите в меню Файл > Настройки > Экспериментальные и выберите пункт Не создавать список задач Gradle во время синхронизации Gradle.
При включении этой опции Android Studio пропускает создание списка задач во время синхронизации, что позволяет Gradle Sync завершаться быстрее и улучшает отзывчивость пользовательского интерфейса. Имейте в виду, что когда IDE пропускает создание списка задач, списки задач на панели Gradle пусты, и автозавершение имен задач в файлах сборки не работает.
Новое место для переключения в автономный режим Gradle.
Чтобы включить или отключить автономный режим Gradle, сначала выберите в строке меню «Вид» > «Окна инструментов» > «Gradle» . Затем в верхней части окна Gradle нажмите «Переключить автономный режим».
.
IntelliJ IDEA 2019.2
В базовой среде разработки Android Studio были внесены улучшения, заимствованные из IntelliJ IDEA, вплоть до версии 2019.2 .
Чтобы узнать больше об улучшениях, внесенных в другие версии IntelliJ и включенных в версию 2019.2, см. следующие страницы:
Участники сообщества
Благодарим всех участников нашего сообщества, которые помогли нам обнаружить ошибки и найти другие способы улучшения Android Studio 3.6. В частности, мы хотели бы поблагодарить следующих людей, сообщивших об ошибках: