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
  }
  

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

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

Более подробную информацию о разнице между этими двумя действиями см. в разделе Применить изменения .

Реорганизовать пункт меню для включения поддержки мгновенных приложений

Теперь вы можете мгновенно включить свой базовый модуль в любое время после создания проекта приложения следующим образом:

  1. Откройте панель «Проект» , выбрав в строке меню «Вид» > «Окна инструментов» > «Проект» .
  2. Щелкните правой кнопкой мыши по базовому модулю, обычно называемому «app», и выберите Рефакторинг > Включить поддержку мгновенных приложений .
  3. В открывшемся диалоговом окне выберите базовый модуль из раскрывающегося меню.
  4. Нажмите ОК .

Примечание: возможность мгновенного включения базового модуля приложения из мастера создания нового проекта была удалена.

Чтобы узнать больше, прочитайте Обзор Google Play Instant .

Деобфускация байт-кода классов и методов в APK Analyzer

При использовании APK Analyzer для проверки файлов DEX вы можете деобфусцировать байт-код класса и метода следующим образом:

  1. В строке меню выберите «Сборка» > «Анализ APK» .
  2. В появившемся диалоговом окне перейдите к APK-файлу, который вы хотите проверить, и выберите его.
  3. Нажмите «Открыть» .
  4. В APK Analyzer выберите DEX-файл, который вы хотите проверить.
  5. В средстве просмотра файлов DEX загрузите файл сопоставлений ProGuard для анализируемого APK.
  6. Щелкните правой кнопкой мыши класс или метод, который вы хотите проверить, и выберите Показать байт-код .

Собственные инструменты

Следующие обновления поддерживают нативную разработку (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 Карт, который можно использовать для создания маршрута между двумя или более точками. Чтобы создать и сохранить маршрут, выполните следующие действия:

  1. В режиме просмотра карты используйте текстовое поле для поиска первого пункта назначения на вашем маршруте.
  2. Выберите местоположение из результатов поиска.
  3. Нажмите кнопку «Навигация» .
  4. Выберите начальную точку вашего маршрута на карте.
  5. (Необязательно) Нажмите «Добавить пункт назначения» , чтобы добавить дополнительные остановки в маршрут.
  6. Сохраните свой маршрут, нажав кнопку Сохранить маршрут на карте.
  7. Укажите название маршрута и нажмите кнопку Сохранить .

Чтобы смоделировать движение эмулятора по сохранённому маршруту, выберите его из списка сохранённых маршрутов и нажмите кнопку «Воспроизвести маршрут» в правом нижнем углу окна «Расширенные элементы управления» . Чтобы остановить симуляцию, нажмите кнопку «Остановить маршрут» .

Вкладка «Маршруты» в расширенных элементах управления эмулятора. .

Чтобы непрерывно имитировать движение эмулятора по указанному маршруту, включите переключатель рядом с опцией «Повторять воспроизведение» . Чтобы изменить скорость движения эмулятора по указанному маршруту, выберите нужный параметр в раскрывающемся списке «Скорость воспроизведения» .

Поддержка нескольких дисплеев

Эмулятор Android теперь позволяет разворачивать приложение на нескольких дисплеях с поддержкой настраиваемых размеров и помогает тестировать приложения с поддержкой многооконного режима и нескольких дисплеев . Во время работы виртуального устройства вы можете добавить до двух дополнительных дисплеев следующим образом:

  1. Откройте расширенные элементы управления и перейдите на вкладку Дисплеи .

  2. Добавьте еще один дисплей, нажав «Добавить дополнительный дисплей» .

  3. В раскрывающемся меню в разделе «Вторичные дисплеи» выполните одно из следующих действий:

  4. Выберите одно из предустановленных соотношений сторон

  5. Выберите «Пользовательский» и задайте высоту , ширину и разрешение для вашего дисплея.

  6. (Необязательно) Нажмите Добавить дополнительный дисплей , чтобы добавить третий дисплей.

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

Добавить несколько дисплеев. Вкладка «Дисплей» расширенных элементов управления эмулятора.

Новые виртуальные устройства и шаблоны проектов для Android Automotive OS

При создании нового проекта в Android Studio теперь можно выбрать один из трёх шаблонов на вкладке «Автомобильные» в мастере создания нового проекта : «Без активности» , «Служба мультимедиа» и «Служба обмена сообщениями» . Для существующих проектов можно добавить поддержку устройств Android Automotive, выбрав в меню «Файл» пункт «Создать» пункт «Новый модуль» и выбрав «Автомобильный модуль» . Мастер создания нового модуля поможет вам создать новый модуль с использованием одного из шаблонов проектов Android Automotive.

Выбор шаблона проекта Android Automotive. .

Кроме того, теперь вы можете создать виртуальное устройство Android (AVD) для устройств на базе Android Automotive OS, выбрав один из следующих параметров на вкладке «Автомобиль» в мастере настройки виртуального устройства .

  1. Polestar 2 : создайте AVD, эмулирующее головное устройство Polestar 2.
  2. Автомобильные (1024p альбомная ориентация) : создайте AVD для стандартных автомобильных головных устройств Android с разрешением 1024 x 768 пикселей.

Выбор виртуального устройства Android Automotive. .

Возобновляемые загрузки 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 нажмите «Переключить автономный режим». Кнопка Gradle offline на панели Gradle. .

IntelliJ IDEA 2019.2

Основная среда разработки Android Studio IDE обновлена с учетом улучшений IntelliJ IDEA в версии 2019.2 .

Дополнительную информацию об улучшениях в других версиях IntelliJ, которые совокупно включены в версию 2019.2, можно найти на следующих страницах:

Участники сообщества

Благодарим всех участников нашего сообщества, которые помогали нам выявлять ошибки и находить другие способы улучшения Android Studio 3.6. В частности, мы хотели бы поблагодарить следующих людей, сообщивших об ошибках:

  • Альберт Ло
  • Алексей Ротт
  • Андреа Леганца
  • Бенедикт Колб
  • Сесар Пуэрта
  • Кертис Крёч
  • Дамиан Вечорек
  • Дэн Лью
  • Дэвид Бурстрём
  • Дипаншу
  • Егор Андреевич
  • Эли Грабер
  • Эмин Кокалари
  • Эван Татарка
  • Франтишек Надь
  • Грег Моенс
  • Ханнес Ахляйтнер
  • Ханс Петтер Эйде
  • Хеннинг Банк
  • Хуго Виссер
  • Игорь Эскодро
  • Иньяки Виллар
  • Хавентира Лиената
  • Джо Роджерс
  • Кристоффер Даниэльссон
  • Лиран Барсис
  • Луи CAD
  • Лорант Пинтер
  • Лукаш Васильковский
  • Люк Фильке
  • Малвин Сутанто
  • Масатоши Кубоде
  • Мэтью Уинтерс
  • Майкл Бейли
  • Михал Гурни
  • Михай Няксу
  • Майк Скамелл
  • Монте Крезор
  • Нельсон Осаки
  • Нельсон Осаки
  • Ник Фирмани
  • Никлас Ансман Гирц
  • Никлас Крон
  • Николас Лихтмайер
  • Ник Хаарман
  • Нильс ван Хове
  • Никлас Бауди
  • Ренато Гонсалвес
  • Roar Grønmo
  • Руслан Баратов
  • Синан Козак
  • Славомир Червинский
  • Стефан Вольф
  • Стивен Д'Амико
  • Тао Ван
  • Томаш Хладек
  • Томаш Прохазка
  • Тони Робалик
  • Торбьёрн Сёрли
  • Уоррен Хе
  • Йенчи Лин
  • Зак Свирс