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

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

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

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

Чтобы симулировать движение эмулятора по сохраненному маршруту, выберите маршрут из списка сохраненных маршрутов и нажмите кнопку Play route в правом нижнем углу окна Extended controls . Чтобы остановить симуляцию, нажмите Stop route .

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

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

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

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

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

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

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

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

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

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

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

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

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

При создании нового проекта с помощью Android Studio теперь можно выбрать один из трех шаблонов на вкладке Automotive в мастере создания нового проекта : No Activity , Media service и Messaging service . Для существующих проектов можно добавить поддержку устройств Android Automotive, выбрав File > New > New Module в строке меню и выбрав Automotive Module . Затем мастер создания нового модуля проведет вас через создание нового модуля с использованием одного из шаблонов проектов Android Automotive.

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

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

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

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

Возобновляемые загрузки 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 Кнопка Gradle offline на панели Gradle. .

IntelliJ IDEA 2019.2

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

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

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

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

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