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 }
Применить изменения
Теперь вы можете добавить класс, а затем развернуть это изменение кода в работающем приложении, нажав « Применить изменения кода» или «Применить изменения и перезапустить действие» .
Чтобы узнать больше о разнице между этими двумя действиями, см. раздел Применить изменения .
Реорганизовать пункт меню для включения поддержки Instant Apps
Теперь вы можете мгновенно включить свой базовый модуль в любое время после создания проекта приложения следующим образом:
- Откройте панель «Проект» , выбрав в строке меню «Вид» > «Окна инструментов» > «Проект» .
- Щелкните правой кнопкой мыши по базовому модулю, обычно называемому «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. Чтобы отобразить фрагменты и действия, которые могут вызывать утечку памяти, установите флажок Утечки активности/фрагментов на панели дампа кучи в Memory Profiler.
Фильтрация дампа кучи на предмет утечек памяти.
Эмуляторы
Android Studio 3.6 поможет вам воспользоваться несколькими обновлениями, включенными в Android Emulator 29.2.7 и выше, как описано ниже.
Улучшенная поддержка местоположения
Android Emulator 29.2.7 и выше обеспечивает дополнительную поддержку для эмуляции координат GPS и информации о маршруте. При открытии расширенных элементов управления Emulators, параметры на вкладке Location теперь организованы на двух вкладках: Single points и Routes .
Отдельные точки
На вкладке Отдельные точки вы можете использовать веб-просмотр Google Карт для поиска точек интереса, как при использовании Google Карт на телефоне или в браузере. Когда вы ищете или нажимаете на местоположение на карте, вы можете сохранить местоположение, выбрав Сохранить точку в нижней части карты. Все ваши сохраненные местоположения перечислены в правой части окна Расширенные элементы управления .
Чтобы установить местоположение эмуляторов в месте, выбранном на карте, нажмите кнопку « Установить местоположение» в правом нижнем углу окна «Расширенные элементы управления» .
.
Маршруты
Подобно вкладке Single points , вкладка Routes предоставляет веб-просмотр Google Maps, который можно использовать для создания маршрута между двумя или более местоположениями. Чтобы создать и сохранить маршрут, выполните следующие действия:
- В режиме просмотра карты используйте текстовое поле для поиска первого пункта назначения на вашем маршруте.
- Выберите местоположение из результатов поиска.
- Нажмите кнопку «Навигация» .
- Выберите начальную точку вашего маршрута на карте.
- (Необязательно) Нажмите «Добавить пункт назначения» , чтобы добавить дополнительные остановки к вашему маршруту.
- Сохраните свой маршрут, нажав кнопку «Сохранить маршрут» на карте.
- Укажите название маршрута и нажмите «Сохранить» .
Чтобы симулировать движение эмулятора по сохраненному маршруту, выберите маршрут из списка сохраненных маршрутов и нажмите кнопку Play route в правом нижнем углу окна Extended controls . Чтобы остановить симуляцию, нажмите Stop route .
.
Для непрерывной имитации следования эмулятора по указанному маршруту включите переключатель рядом с Повторить воспроизведение . Чтобы изменить скорость следования эмулятора по указанному маршруту, выберите параметр в раскрывающемся списке Скорость воспроизведения .
Поддержка нескольких дисплеев
Android Emulator теперь позволяет вам развернуть ваше приложение на нескольких дисплеях, которые поддерживают настраиваемые размеры и могут помочь вам тестировать приложения, которые поддерживают многооконный и многодисплейный режим . Во время работы виртуального устройства вы можете добавить до двух дополнительных дисплеев следующим образом:
Откройте Расширенные элементы управления и перейдите на вкладку Дисплеи .
Добавьте еще один дисплей, нажав Добавить дополнительный дисплей .
В раскрывающемся меню в разделе «Вторичные дисплеи» выполните одно из следующих действий:
Выберите одно из предустановленных соотношений сторон
Выберите «Пользовательский» и задайте высоту , ширину и разрешение вашего дисплея.
(Необязательно) Нажмите Добавить дополнительный дисплей , чтобы добавить третий дисплей.
Нажмите «Применить изменения », чтобы добавить указанные дисплеи к работающему виртуальному устройству.
Новые виртуальные устройства и шаблоны проектов для Android Automotive OS
При создании нового проекта с помощью Android Studio теперь можно выбрать один из трех шаблонов на вкладке Automotive в мастере создания нового проекта : No Activity , Media service и Messaging service . Для существующих проектов можно добавить поддержку устройств Android Automotive, выбрав File > New > New Module в строке меню и выбрав Automotive Module . Затем мастер создания нового модуля проведет вас через создание нового модуля с использованием одного из шаблонов проектов Android Automotive.
.
Кроме того, теперь вы можете создать виртуальное устройство Android (AVD) для устройств на базе ОС Android Automotive, выбрав один из следующих параметров на вкладке «Автомобиль» в мастере настройки виртуального устройства .
- Polestar 2 : создайте AVD, эмулирующее головное устройство Polestar 2.
- Автомобильные (1024p, альбомная ориентация) : создайте AVD для стандартных автомобильных головных устройств Android с разрешением 1024 x 768 пикселей.
.
Возобновляемые загрузки SDK
При загрузке компонентов и инструментов SDK с помощью SDK Manager Android Studio теперь позволяет возобновлять прерванные загрузки (например, из-за проблем с сетью) вместо перезапуска загрузки с самого начала. Это улучшение особенно полезно для больших загрузок, таких как Android Emulator или образы системы, когда подключение к Интернету нестабильно.
Кроме того, если у вас есть задача загрузки SDK, запущенная в фоновом режиме, теперь вы можете приостановить или возобновить загрузку с помощью элементов управления в строке состояния.
Фоновая задача загрузки в строке состояния с новыми элементами управления, позволяющими приостанавливать или возобновлять загрузку.
Win32 устарел
32-разрядная версия Android Studio для Windows больше не будет получать обновления после декабря 2019 года, и она больше не будет получать поддержку после декабря 2020 года. Вы можете продолжать использовать Android Studio. Однако, чтобы получать дополнительные обновления, обновите свою рабочую станцию до 64-разрядной версии Windows.
Чтобы узнать больше, прочтите блог об амортизации 32-разрядной версии Windows.
Новая опция для оптимизации времени синхронизации Gradle
В предыдущих выпусках Android Studio извлекала список всех задач Gradle во время Gradle Sync. Для больших проектов извлечение списка задач могло привести к медленной синхронизации.
Чтобы улучшить производительность Gradle Sync, перейдите в Файл > Настройки > Экспериментальные и выберите Не создавать список задач Gradle во время синхронизации Gradle.
При включении этой опции Android Studio пропускает построение списка задач во время синхронизации, что позволяет Gradle Sync завершаться быстрее и улучшает отзывчивость пользовательского интерфейса. Помните, что когда IDE пропускает построение списка задач, списки задач на панели Gradle пусты, а автодополнение имен задач в файлах сборки не работает.
Новое место для переключения автономного режима Gradle
Чтобы включить или отключить автономный режим Gradle, сначала выберите View > Tool Windows > Gradle в строке меню. Затем, в верхней части окна Gradle , нажмите Toggle Offline Mode .
IntelliJ IDEA 2019.2
Основная среда разработки Android Studio IDE обновлена с учетом улучшений IntelliJ IDEA в версии 2019.2 .
Чтобы узнать больше об улучшениях в других версиях IntelliJ, которые включены в кумулятивном виде в версию 2019.2, посетите следующие страницы:
Участники сообщества
Спасибо всем нашим участникам сообщества, которые помогли нам обнаружить ошибки и другие способы улучшения Android Studio 3.6. В частности, мы хотели бы поблагодарить следующих людей, которые сообщили об ошибках: