Android Studio 3.6 (февраль 2020 г.)
Android Studio 3.6 — это крупный релиз, включающий множество новых функций и улучшений.
Мы также хотели бы поблагодарить всех членов нашего сообщества , которые помогли с этим релизом.
3.6.3 (апрель 2020 г.)
Это небольшое обновление включает в себя исправления различных ошибок. Список наиболее заметных исправлений ошибок можно найти в соответствующей публикации в блоге Release Updates .
3.6.2 (март 2020 г.)
Это небольшое обновление включает в себя исправления различных ошибок. Список наиболее заметных исправлений ошибок можно найти в соответствующей публикации в блоге Release Updates .
3.6.1 (февраль 2020 г.)
Это небольшое обновление включает в себя исправления различных ошибок. Список наиболее заметных исправлений ошибок можно найти в соответствующей публикации в блоге Release Updates .
Инструменты дизайна
Эта версия Android Studio включает обновления нескольких инструментов дизайна, включая редактор макетов и менеджер ресурсов.
Разделение вида и масштабирование в редакторах дизайна
В этот выпуск включены следующие обновления редакторов визуального дизайна:
Редакторы дизайна, такие как редактор макетов и редактор навигации, теперь поддерживают раздельное представление, позволяющее одновременно просматривать как дизайн , так и код вашего пользовательского интерфейса. В правом верхнем углу окна редактора теперь расположены три кнопки.
для переключения между вариантами просмотра:
- Чтобы включить разделенный вид, нажмите значок «Разделить»
.
- Чтобы включить просмотр исходного XML-файла, щелкните значок «Источник».
.
- Чтобы включить режим дизайна, щелкните значок «Дизайн».
.
- Чтобы включить разделенный вид, нажмите значок «Разделить»
Элементы управления масштабированием и панорамированием в редакторах дизайна перемещены на плавающую панель в правом нижнем углу окна редактора.
Более подробную информацию см. в статье Создание пользовательского интерфейса с помощью редактора макетов .
Вкладка «Ресурсы палитры цветов»
Чтобы помочь вам быстро обновлять значения цветовых ресурсов в вашем приложении при использовании палитры цветов в вашем XML или инструментах дизайна, IDE теперь заполняет значения цветовых ресурсов автоматически.
Менеджер ресурсов
Менеджер ресурсов содержит следующие обновления:
- Менеджер ресурсов теперь поддерживает большинство типов ресурсов.
- При поиске ресурса в диспетчере ресурсов теперь отображаются результаты по всем модулям проекта. Ранее поиск возвращал результаты только по выбранному модулю.
- Кнопка фильтра позволяет просматривать ресурсы из локальных зависимых модулей, внешних библиотек и фреймворка Android. Вы также можете использовать фильтр для отображения атрибутов темы.
- Теперь вы можете переименовывать ресурсы во время процесса импорта, щелкнув внутри текстового поля над ресурсом.
Более подробную информацию см. в статье Управление ресурсами пользовательского интерфейса приложения с помощью диспетчера ресурсов .
Обновления плагина Android Gradle
Последняя версия плагина Android Gradle включает множество обновлений, включая оптимизацию скорости сборки, поддержку плагина публикации Maven и поддержку View Binding. Подробнее см. в полных примечаниях к выпуску .
Просмотреть привязку
Привязка представлений упрощает написание кода, взаимодействующего с представлениями, путем создания класса привязки для каждого XML-файла макета. Эти классы содержат прямые ссылки на все представления, имеющие идентификатор в соответствующем макете.
Поскольку он заменяет findViewById()
, привязка представления устраняет риск возникновения исключений нулевого указателя из-за недопустимого идентификатора представления.
Чтобы включить привязку представлений, необходимо использовать плагин 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.
Поддержка Котлина
Следующие функции 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» .
Обнаружение утечек в Memory Profiler
При анализе дампа кучи в Memory Profiler теперь можно фильтровать данные профилирования, которые, по мнению Android Studio, могут указывать на утечки памяти для экземпляров Activity
и Fragment
в вашем приложении.
Фильтр отображает следующие типы данных:
- Экземпляры
Activity
, которые были уничтожены, но на которые все еще имеются ссылки. - Экземпляры
Fragment
, у которых нет допустимогоFragmentManager
, но на которые все еще ведутся ссылки.
Прикрепите исходные коды APK только на Kotlin
Теперь можно прикреплять внешние источники APK, написанные только на Kotlin, при профилировании и отладке готовых APK. Подробнее см. в разделе «Прикрепление источников Kotlin/Java» .
Обнаружение утечек в Memory Profiler
При анализе дампа кучи в Memory Profiler теперь можно фильтровать данные профилирования, которые, по мнению Android Studio, могут указывать на утечки памяти для экземпляров Activity
и Fragment
в вашем приложении.
Фильтр отображает следующие типы данных:
- Экземпляры
Activity
, которые были уничтожены, но на которые все еще имеются ссылки. - Экземпляры
Fragment
, у которых нет допустимогоFragmentManager
, но на которые все еще ведутся ссылки.
В определенных ситуациях, например, в следующих, фильтр может давать ложные срабатывания:
-
Fragment
создан, но еще не использован. -
Fragment
кэшируется, но не как частьFragmentTransaction
.
Чтобы использовать эту функцию, сначала создайте дамп кучи или импортируйте его в Android Studio. Чтобы отобразить фрагменты и действия, которые могут вызывать утечку памяти, установите флажок «Утечки активности/фрагментов» на панели дампа кучи в профилировщике памяти.
Фильтрация дампа кучи на предмет утечек памяти.
Эмуляторы
Android Studio 3.6 поможет вам воспользоваться несколькими обновлениями, включенными в Android Emulator 29.2.7 и более поздние версии, как описано ниже.
Улучшенная поддержка местоположения
Эмулятор Android 29.2.7 и более поздних версий обеспечивает дополнительную поддержку эмуляции GPS-координат и информации о маршрутах. При открытии расширенных элементов управления эмулятора параметры на вкладке «Местоположение» теперь организованы на двух вкладках: «Отдельные точки» и «Маршруты» .
Отдельные точки
На вкладке «Отдельные точки» вы можете использовать веб-просмотр Google Карт для поиска объектов, как при использовании Google Карт на телефоне или в браузере. Когда вы ищете или нажимаете на местоположение на карте, вы можете сохранить его, выбрав «Сохранить точку» в нижней части карты. Все сохранённые местоположения отображаются в правой части окна «Расширенные элементы управления» .
Чтобы установить местоположение эмуляторов в соответствии с выбранным вами на карте местоположением, нажмите кнопку « Установить местоположение» в правом нижнем углу окна «Расширенные элементы управления» .
.
Маршруты
Подобно вкладке «Отдельные точки» , вкладка «Маршруты» предоставляет веб-просмотр Google Карт, который можно использовать для создания маршрута между двумя или более точками. Чтобы создать и сохранить маршрут, выполните следующие действия:
- В режиме просмотра карты используйте текстовое поле для поиска первого пункта назначения на вашем маршруте.
- Выберите местоположение из результатов поиска.
- Нажмите кнопку «Навигация» .
- Выберите начальную точку вашего маршрута на карте.
- (Необязательно) Нажмите «Добавить пункт назначения» , чтобы добавить дополнительные остановки в маршрут.
- Сохраните свой маршрут, нажав кнопку Сохранить маршрут на карте.
- Укажите название маршрута и нажмите кнопку Сохранить .
Чтобы смоделировать движение эмулятора по сохранённому маршруту, выберите его из списка сохранённых маршрутов и нажмите кнопку «Воспроизвести маршрут» в правом нижнем углу окна «Расширенные элементы управления» . Чтобы остановить симуляцию, нажмите кнопку «Остановить маршрут» .
.
Чтобы непрерывно имитировать движение эмулятора по указанному маршруту, включите переключатель рядом с опцией «Повторять воспроизведение» . Чтобы изменить скорость движения эмулятора по указанному маршруту, выберите нужный параметр в раскрывающемся списке «Скорость воспроизведения» .
Поддержка нескольких дисплеев
Эмулятор Android теперь позволяет разворачивать приложение на нескольких дисплеях с поддержкой настраиваемых размеров и помогает тестировать приложения с поддержкой многооконного режима и нескольких дисплеев . Во время работы виртуального устройства вы можете добавить до двух дополнительных дисплеев следующим образом:
Откройте расширенные элементы управления и перейдите на вкладку Дисплеи .
Добавьте еще один дисплей, нажав «Добавить дополнительный дисплей» .
В раскрывающемся меню в разделе «Вторичные дисплеи» выполните одно из следующих действий:
Выберите одно из предустановленных соотношений сторон
Выберите «Пользовательский» и задайте высоту , ширину и разрешение для вашего дисплея.
(Необязательно) Нажмите Добавить дополнительный дисплей , чтобы добавить третий дисплей.
Нажмите «Применить изменения », чтобы добавить указанные дисплеи к работающему виртуальному устройству.
Новые виртуальные устройства и шаблоны проектов для Android Automotive OS
При создании нового проекта в Android Studio теперь можно выбрать один из трёх шаблонов на вкладке «Автомобильные» в мастере создания нового проекта : «Без активности» , «Служба мультимедиа» и «Служба обмена сообщениями» . Для существующих проектов можно добавить поддержку устройств Android Automotive, выбрав в меню «Файл» пункт «Создать» пункт «Новый модуль» и выбрав «Автомобильный модуль» . Мастер создания нового модуля поможет вам создать новый модуль с использованием одного из шаблонов проектов Android Automotive.
.
Кроме того, теперь вы можете создать виртуальное устройство Android (AVD) для устройств на базе Android Automotive OS, выбрав один из следующих параметров на вкладке «Автомобиль» в мастере настройки виртуального устройства .
- Polestar 2 : создайте AVD, эмулирующее головное устройство Polestar 2.
- Автомобильные (1024p альбомная ориентация) : создайте AVD для стандартных автомобильных головных устройств Android с разрешением 1024 x 768 пикселей.
.
Возобновляемые загрузки SDK
При загрузке компонентов и инструментов SDK с помощью SDK Manager Android Studio теперь позволяет возобновлять прерванную загрузку (например, из-за проблем с сетью), а не перезапускать её с самого начала. Это улучшение особенно полезно для больших объёмов загрузки, таких как эмулятор Android или образы системы, в условиях нестабильного интернет-соединения.
Кроме того, если у вас есть задача загрузки SDK, работающая в фоновом режиме, теперь вы можете приостановить или возобновить загрузку с помощью элементов управления в строке состояния.
Фоновая задача загрузки в строке состояния с новыми элементами управления, позволяющими приостанавливать или возобновлять загрузку.
Win32 устарел
32-разрядная версия Android Studio для Windows перестанет получать обновления после декабря 2019 года, а её поддержка прекратится после декабря 2020 года. Вы можете продолжать использовать Android Studio. Однако для получения дополнительных обновлений обновите свою рабочую станцию до 64-разрядной версии Windows.
Чтобы узнать больше, прочтите блог об амортизации 32-разрядной версии Windows.
Новая опция для оптимизации времени синхронизации Gradle
В предыдущих версиях Android Studio извлекала список всех задач Gradle во время синхронизации Gradle. В больших проектах извлечение списка задач могло приводить к замедлению синхронизации.
Чтобы улучшить производительность Gradle Sync, перейдите в Файл > Настройки > Экспериментальные и выберите Не создавать список задач Gradle во время синхронизации Gradle.
При включении этой опции Android Studio пропускает формирование списка задач во время синхронизации, что ускоряет синхронизацию Gradle и повышает отзывчивость пользовательского интерфейса. Имейте в виду, что когда IDE пропускает формирование списка задач, списки задач на панели Gradle пусты, а автодополнение имён задач в файлах сборки не работает.
Новое место для переключения автономного режима Gradle
Чтобы включить или отключить автономный режим Gradle, сначала выберите «Вид» > «Окна инструментов» > «Gradle» в строке меню. Затем в верхней части окна Gradle нажмите «Переключить автономный режим». .
IntelliJ IDEA 2019.2
Основная среда разработки Android Studio IDE обновлена с учетом улучшений IntelliJ IDEA в версии 2019.2 .
Дополнительную информацию об улучшениях в других версиях IntelliJ, которые совокупно включены в версию 2019.2, можно найти на следующих страницах:
Участники сообщества
Благодарим всех участников нашего сообщества, которые помогали нам выявлять ошибки и находить другие способы улучшения Android Studio 3.6. В частности, мы хотели бы поблагодарить следующих людей, сообщивших об ошибках: