Четвёртая версия Android Studio – результат стремления ребят из Google предоставить новые или улучшенные инструменты для более удобного кодинга, быстрой разработки и проектирования приложений.
Android Studio 4.0 включают в себя новый Motion Editor, помогающий оживить ваши приложения, Build Analyzer для изучения причин замедления сборки и Java 8, которую можно использовать независимо от минимального уровня API вашего приложения. CPU Profiler был перелопачен, чтобы сделать рабочий процесс более интуитивно понятным и для простого параллельного анализа активности потока. Layout Inspector теперь отдаёт живые данные c UI приложения, а значит, вы можете легко отлаживать именно то, что отображается на устройстве.
Работа с макетами
Редактор движения объектов (MotionLayout)
API MotionLayout расширяет и без того богатые возможности ConstraintLayout, помогая разработчикам Android управлять сложными движениями и анимацией виджетов
Использование этого API стало проще благодаря новому Motion Editor – мощному интерфейсу для создания, редактирования и предварительного просмотра. Больше не нужно создавать и изменять сложные XML-файлы – Motion Editor делает это за нас, при этом поддерживая редактирование constraint-наборов, переходов, кейфреймов и атрибутов вьюшек. Чтобы увидеть код, создаваемый редактором, нужно совершить всего один клик.
И ещё небольшое улучшение для разработчиков, уже использующих ConstraintLayout – новая версия может легко преобразовать их в MotionLayout.
Инспектор макетов (Layout Inspector)
С помощью нового Layout Inspector отладка UI становится намного понятнее. Мы получаем доступ к постоянно обновляемым данным и информацию о том, как расходуются ресурсы.
Чтобы использовать Layout
Inspector, в главном меню нужно выбрать View > Tool Windows > Layout Inspector
. При развёртывании на устройстве под управлением API
29 или выше у нас есть доступ к дополнительным функциям: динамической иерархии макетов, обновляемой при изменении представления, подробным атрибутам вьюхи и 3D-модели UI запущенного приложения.
Валидация макетов (Layout Validation)
Когда вы разрабатываете код под несколько форм-факторов, размеров экрана и
разрешений, следует убедиться, что работа корректно отображается на любом экране. С помощью окна Layout Validation можно просматривать макеты на разных экранах и конфигурациях одновременно. Чтобы начать работу, перейдите на вкладку Layout Validation
в правом верхнем
углу IDE.
Разработка и профилирование
Обновленный CPU Profiler
CPU profiler предоставляет большой объем информации о потоковой активности и трассировке приложения. В четвёртой версии записи CPU отделены от основной временной шкалы и организованы в удобные для анализа группы. Группы можно перемешать вверх и вниз или перетаскивать отдельные элементы внутри групп для дополнительной настройки.
Для облегчения
параллельного анализа теперь можно просмотреть все активити на шкале Thread
Activity (включая методы, функции и события) и попробовать новую навигацию – можно масштабировать и панорамировать при помощи клавиш W
, S
, A
и D
.
Переработан UI трассировки. Теперь легче выявить более загруженные потоки и сосредоточиться на просмотре данных. Качество CPU profiler значительно выросло – снизилось число ошибок, о которых сообщали пользователи с Android Studio 3.6. Больше об улучшениях профайлера – в официальном хелпе.
Функции интеллектуального редактора
R8, представленный в Android Gradle plugin 3.4.0, добавил синтаксического сахара, сжатия, обфускации и оптимизации, что привело к заметному улучшению производительности сборки.
Теперь при создании файлов для R8, студия предоставляет функции интеллектуального редактора: подсветку синтаксиса, автодополнение и проверку ошибок. Редактор интегрируется с вашим проектом Android, обеспечивая полное дополнение символов всех классов, методов и полей, а также включает быструю навигацию и рефакторинг.
Обновление платформы IntelliJ IDEA
Обновлено ядро среды разработки Android. Следом за ним обновились и версии IntelliJ IDEA 2019.3 и 2019.3.3. Эти улучшения в основном направлены на улучшение производительности.
Живые шаблоны
Live templates – это удобная
функция IntelliJ, позволяющая вставлять общие конструкции в код набирая
ключевые слова. Android Studio теперь также умеет работать с шаблонами: введите Toast
,
нажмите Tab
и вставится шаблонный код для Toast. Полный список шаблонов находится в Editor > Live Templates
в
Settings
(или Preferences
).
Поддержка Clangd для C++
Для разработчиков, пишущих на плюсах, совершили переход на clangd в качестве основного механизма анализа языка, навигации по коду, автодополнения, проверки и отображения ошибок/предупреждений.
Чтобы настроить Clangd
или Clang-Tidy
, зайдите в диалог Settings
(или Preferences
) и переместитесь в Languages & Frameworks
> C/C++ > Clangd or Clang-Tidy
.
Сборка
Плагин Gradle 4.0 включает в себя поддержку Android Studio’s Build Analyzer (независимо от минимального уровня API вашего приложения) и создание зависимостей между динамическими модулями функций. Полный список обновлений смотрите в примечаниях к релизу.
Анализатор сборки (Build Analyzer)
Build Analyzer помогает понять и устранить узкие места в сборке, выделяя плагины и задачи, которые ответственны за общее время сборки, а также предлагая шаги по смягчению «симптомов».
Java 8 и десахаризация в D8/R8
Предыдущие версии
Android Gradle поддерживали различные языковые функции Java 8 для всех уровней
API с помощью процесса,
называемого десахаризацией. В Android-студия 4.0 движок
был расширен для поддержки API
языка Java, независимо от minSdkVersion. Это означает, что теперь вы можете
использовать стандартные языковые API, которые ранее были доступны только в
последних версиях Android (например, java.util.stream
, java.util.function
и
java.time
).
Feature-on-feature зависимости
При использовании
плагина Gradle 4.0.0 и выше теперь можно указать, что модуль Dynamic Feature зависит
от другого модуля. Возможность определить эту взаимосвязь гарантирует, что ваше
приложение будет иметь необходимые модули для разблокировки дополнительных
функциональных возможностей, а это приведёт к меньшему количеству запросов и
более простой структуре приложения. Например, функция :video
может зависеть
от функции :camera
. Если пользователь хочет разблокировать возможность записи
видео, ваше приложение автоматически при запросе :video
загрузит модуль :camera
.
Новые опции для включения или отключения из сборки
Gradle имеет встроенную
поддержку современных библиотек, таких как data binding
, view binding
, build
features
и BuildConfig classes
. Однако не все библиотеки и функции могут понадобиться в проекте. Как показано ниже, в версии 4.0 можно отключить ненужные
функции сборки – это поможет оптимизировать
производительность сборки для крупных проектов.
Для получения полного списка функций, которыми можно управлять, смотрите примечания к релизу.
Поддержка файлов Kotlin DSL
Студия теперь имеет встроенную поддержку файлов сценариев сборки Kotlin DSL (*.kts). Сценарии сборки Kotlin предлагают полный набор быстрых исправлений и поддерживаются Project Structure dialog. Разработчики собираются в долгосрочной перспективе поддерживать эту фичу, что позволит создать более простой в использовании DSL.
Метаданные зависимостей
При создании приложения Gradle включает метаданные, описывающие зависимости компилируемых библиотек. При загрузке приложения Play Console проверяет эти метаданные, получая информацию об известных проблемах с SDK и зависимостями, используемыми в приложении, а в некоторых случаях предоставляет обратную связь для решения этих проблем.
Эти данные сжимаются,
шифруются ключом подписи Google Play и сохраняются в блоке подписи вашего релиза.
Если вы не хотите делиться этой информацией, можно легко отказаться от нее,
включив следующий блок в файл build.gradle
:
Заключение
Загрузите Android Studio 4.0 с официальной страницы. Если вы используете предыдущую версию Android Studio, вы можете просто обновиться до последнего релиза.
Как и любые разработчики, гугловцы любят и ценят отзывы (хорошие и плохие) о том, что вам нравится/не нравится, а также о функционале, который вы хотели бы видеть. Если вы обнаружите баг – смело отправляйте сообщение о проблеме.
Комментарии