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 или инструментах дизайна, теперь интегрированная среда разработки заполняет значения цветовых ресурсов за вас.

Палитра цветов с заполненными значениями цвета

Менеджер ресурсов

Менеджер ресурсов содержит следующие обновления:

  • Менеджер ресурсов теперь поддерживает большинство типов ресурсов.
  • При поиске ресурса Менеджер ресурсов теперь отображает результаты из всех модулей проекта. Раньше поиск возвращал результаты только из выбранного модуля.
  • Кнопка фильтра позволяет просматривать ресурсы из локально зависимых модулей, внешних библиотек и платформы Android. Вы также можете использовать фильтр для отображения атрибутов темы.
  • Теперь вы можете переименовывать ресурсы во время процесса импорта, щелкнув текстовое поле над ресурсом.

Дополнительные сведения см. в разделе Управление ресурсами пользовательского интерфейса вашего приложения с помощью Resource Manager .

Обновления плагина Android Gradle

Последняя версия плагина Android Gradle включает множество обновлений, включая оптимизацию скорости сборки, поддержку плагина публикации Maven и поддержку привязки представления. Чтобы узнать больше, прочтите полные примечания к выпуску .

Посмотреть привязку

Привязка представления позволяет упростить написание кода, взаимодействующего с представлениями, путем создания класса привязки для каждого файла макета XML. Эти классы содержат прямые ссылки на все представления, имеющие идентификатор в соответствующем макете.

Поскольку оно заменяет findViewById() , привязка представления исключает риск возникновения исключений нулевого указателя в результате недопустимого идентификатора представления.

Чтобы включить привязку представления, вам необходимо использовать плагин Android Gradle 3.6.0 или выше и включить следующее в файл build.gradle каждого модуля:

классный

  android {
      buildFeatures.viewBinding = true
  }
  

Котлин

  android {
      buildFeatures.viewBinding = true
  }
  

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

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

Чтобы узнать больше о разнице между этими двумя действиями, см. Применить изменения .

Опция меню «Рефакторинг» для включения поддержки Instant Apps

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

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

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

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

Деобфусцировать байт-код класса и метода в анализаторе APK

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

  1. Выберите «Сборка» > «Анализ APK» в строке меню.
  2. В появившемся диалоговом окне перейдите к APK, который вы хотите проверить, и выберите его.
  3. Нажмите Открыть .
  4. В анализаторе APK выберите файл 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

При анализе дампа кучи в профилировщике памяти теперь вы можете фильтровать данные профилирования, которые, по мнению Android Studio, могут указывать на утечки памяти для экземпляров Activity и Fragment в вашем приложении.

Типы данных, отображаемые фильтром, включают следующее:

  • Экземпляры Activity , которые были уничтожены, но на которые все еще ссылаются.
  • Экземпляры Fragment , у которых нет допустимого FragmentManager , но на которые все еще ссылаются.

Прикрепите источники APK только для Kotlin

Теперь можно прикреплять внешние источники APK только для Kotlin при профилировании и отладке готовых APK. Дополнительные сведения см. в разделе Прикрепление исходных кодов Kotlin/Java .

Обнаружение утечек в Memory Profiler

При анализе дампа кучи в профилировщике памяти теперь вы можете фильтровать данные профилирования, которые, по мнению Android Studio, могут указывать на утечки памяти для экземпляров Activity и Fragment в вашем приложении.

Типы данных, отображаемые фильтром, включают следующее:

  • Экземпляры Activity , которые были уничтожены, но на которые все еще ссылаются.
  • Экземпляры Fragment , у которых нет допустимого FragmentManager , но на которые все еще ссылаются.

В определенных ситуациях, например в следующих, фильтр может давать ложные срабатывания:

  • Fragment создан, но еще не использован.
  • Fragment кэшируется, но не как часть FragmentTransaction .

Чтобы использовать эту функцию, сначала сохраните дамп кучи или импортируйте файл дампа кучи в Android Studio. Чтобы отобразить фрагменты и действия, которые могут вызывать утечку памяти, установите флажок «Утечки действий/фрагментов» на панели дампа кучи профилировщика памяти.

Профилировщик: обнаружение утечек памяти

Фильтрация дампа кучи на наличие утечек памяти.

Эмуляторы

Android Studio 3.6 помогает вам воспользоваться преимуществами нескольких обновлений, включенных в эмулятор Android 29.2.7 и более поздних версий, как описано ниже.

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

Android Emulator 29.2.7 и более поздних версий обеспечивает дополнительную поддержку эмуляции GPS-координат и информации о маршруте. При открытии расширенных элементов управления эмуляторов параметры на вкладке «Местоположение» теперь организованы на двух вкладках: «Отдельные точки» и «Маршруты» .

Отдельные точки

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

Чтобы установить местоположение эмуляторов в выбранном вами месте на карте, нажмите кнопку «Установить местоположение» в правом нижнем углу окна «Расширенные элементы управления» .

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

Маршруты

Подобно вкладке «Отдельные точки» , вкладка «Маршруты» предоставляет веб-просмотр Google Maps, который можно использовать для создания маршрута между двумя или более местоположениями. Чтобы создать и сохранить маршрут, выполните следующие действия:

  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, выберите «Файл» > «Настройки» > «Экспериментальный» и выберите «Не создавать список задач Gradle во время синхронизации Gradle».

Если вы включите эту опцию, Android Studio пропускает построение списка задач во время синхронизации, что позволяет Gradle Sync выполняться быстрее и повышает скорость реагирования пользовательского интерфейса. Имейте в виду, что когда IDE пропускает построение списка задач, списки задач на панели Gradle пусты, а автодополнение имени задачи в файлах сборки не работает.

Новое место для переключения автономного режима Gradle

Чтобы включить или отключить автономный режим Gradle, сначала выберите «Вид» > «Окна инструментов» > Gradle в строке меню. Затем в верхней части окна Gradle нажмите «Переключить автономный режим». Кнопка Gradle в автономном режиме на панели Gradle. .

IntelliJ ИДЕЯ 2019.2

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

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

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

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

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