Android Studio 3.0 (октябрь 2017 г.)
Android Studio 3.0.0 — это крупный релиз, включающий множество новых функций и улучшений.
Пользователи macOS: при обновлении старой версии Android Studio может появиться диалоговое окно с сообщением об ошибке обновления «В области установки обнаружены конфликты». Просто проигнорируйте эту ошибку и нажмите «Отмена» , чтобы продолжить установку.
3.0.1 (ноябрь 2017 г.)
Это небольшое обновление Android Studio 3.0, включающее в себя общие исправления ошибок и улучшения производительности.
Плагин Android для Gradle 3.0.0
Новый плагин для Android для Gradle включает в себя ряд улучшений и новых функций, но в первую очередь он повышает производительность сборки проектов с большим количеством модулей. При использовании нового плагина с такими большими проектами вы должны заметить следующее:
- Более быстрое время настройки сборки благодаря новому отложенному разрешению зависимостей.
- Разрешение зависимостей с учетом вариантов только для тех проектов и вариантов, которые вы создаете.
- Более быстрое время инкрементальной сборки при внесении простых изменений в код или ресурсы.
Примечание: эти улучшения потребовали значительных изменений, которые нарушили работу некоторых функций плагина, DSL и API. Обновление до версии 3.0.0 может потребовать внесения изменений в файлы сборки и плагины Gradle.
Эта версия также включает в себя следующее:
- Поддержка Android 8.0.
- Поддержка создания отдельных APK-файлов на основе языковых ресурсов.
- Поддержка библиотек Java 8 и функций языка Java 8 (без компилятора Jack).
- Поддержка Android Test Support Library 1.0 (Android Test Utility и Android Test Orchestrator ).
- Улучшена скорость сборки ndk-build и cmake.
- Улучшена скорость синхронизации Gradle.
- AAPT2 теперь включен по умолчанию.
- Использование
ndkCompile
теперь более ограничено. Вместо этого вам следует перейти на использование CMake или ndk-build для компиляции нативного кода, который вы хотите упаковать в APK. Подробнее см. в статье «Миграция с ndkcompile» .
Дополнительную информацию об изменениях см. в заметках о выпуске Android Plugin for Gradle .
Если вы готовы перейти на новый плагин, см. раздел Переход на плагин Android для Gradle 3.0.0 .
Поддержка Котлина
Как было объявлено на конференции Google I/O 2017 , язык программирования Kotlin теперь официально поддерживается на Android. В этом выпуске Android Studio включает поддержку языка Kotlin для разработки под Android.
Вы можете включить Kotlin в свой проект, преобразовав файл Java в Kotlin (щелкните Код > Преобразовать файл Java в файл Kotlin ) или создав новый проект с поддержкой Kotlin с помощью мастера создания нового проекта.
Для начала прочитайте, как добавить Kotlin в свой проект .

Поддержка функций языка Java 8
Теперь вы можете использовать определенные возможности языка Java 8 и использовать библиотеки, созданные с помощью Java 8. Jack больше не требуется , и вам следует сначала отключить Jack , чтобы использовать улучшенную поддержку Java 8, встроенную в цепочку инструментов по умолчанию.
Чтобы обновить проект для поддержки нового набора инструментов языка Java 8, обновите параметры «Совместимость с исходным кодом» и «Совместимость с целевым кодом» до версии 1.8 в диалоговом окне «Структура проекта» (щёлкните «Файл» > «Структура проекта» ). Подробнее см. в статье «Как использовать функции языка Java 8» .

Android Profiler
Новый Android Profiler заменяет инструмент Android Monitor и предоставляет новый набор инструментов для измерения использования процессора, памяти и сети вашим приложением в режиме реального времени. Вы можете выполнять трассировку методов на основе выборок для измерения времени выполнения кода, создавать дампы кучи, просматривать распределение памяти и проверять информацию о файлах, передаваемых по сети.
Чтобы открыть, нажмите «Вид» > «Окна инструментов» > «Профилировщик Android» (или нажмите «Профилировщик Android» на панели инструментов).
Временная шкала событий в верхней части окна показывает события прикосновения, нажатия клавиш и изменения активности, что позволяет вам получить больше контекста для понимания других событий производительности на временной шкале.
Примечание: представление Logcat также перемещено в отдельное окно (ранее оно находилось в Android Monitor, который был удален).

На временной шкале обзора Android Profiler нажмите на временные шкалы CPU , MEMORY или NETWORK , чтобы получить доступ к соответствующим инструментам профилировщика.
Профилировщик ЦП
Профилировщик ЦП помогает анализировать использование потоков ЦП вашим приложением, запуская выборочную или инструментированную трассировку ЦП. Затем вы можете выявлять и устранять проблемы с производительностью ЦП, используя различные представления данных и фильтры.
Более подробную информацию см. в руководстве CPU Profiler .

Профилировщик памяти
Профилировщик памяти помогает выявлять утечки и переполнение памяти, которые могут приводить к подтормаживанию, зависаниям и даже сбоям приложения. Он отображает график использования памяти приложением в реальном времени, позволяет создавать дамп кучи, выполнять принудительную сборку мусора и отслеживать распределение памяти.
Более подробную информацию см. в руководстве по профилированию памяти .

Сетевой профилировщик
Сетевой профилировщик позволяет отслеживать сетевую активность вашего приложения, проверять полезную нагрузку каждого сетевого запроса и ссылаться на код, сгенерировавший сетевой запрос.
Более подробную информацию см. в руководстве Network Profiler .

Профилирование и отладка APK
Android Studio теперь позволяет вам профилировать и отлаживать любой APK без необходимости его сборки из проекта Android Studio — при условии, что APK собран с возможностью отладки и у вас есть доступ к отладочным символам и исходным файлам.
Чтобы начать, нажмите «Профиль или отладка APK» на экране приветствия Android Studio. Или, если у вас уже открыт проект, нажмите «Файл» > «Профиль или отладка APK» в строке меню. Это отобразит распакованные APK-файлы, но не декомпилирует код. Таким образом, для корректного добавления точек останова и просмотра трассировки стека необходимо прикрепить исходные файлы Java и нативные отладочные символы.
Для получения дополнительной информации см. раздел Профилирование и отладка готовых APK-файлов .

Проводник по файлам устройства
Новый проводник по файлам устройств позволяет просматривать файловую систему подключенного устройства и передавать файлы между ним и компьютером. Он заменяет инструмент для работы с файловой системой, доступный в DDMS.
Чтобы открыть, нажмите Вид > Окна инструментов > Проводник файлов устройства .
Более подробную информацию см. в руководстве Device File Explorer .

Поддержка мгновенных приложений
Новая поддержка Android Instant Apps позволяет вам создавать Instant Apps в вашем проекте, используя два новых типа модулей : модули Instant App и модули функций (для этого требуется установить Instant Apps Development SDK ).

В Android Studio также есть новый метод рефакторинга «Модулизовать», который поможет вам добавить поддержку Instant Apps в существующий проект. Например, если вы хотите рефакторить свой проект, поместив некоторые классы в модуль функции Instant App, выберите классы в окне проекта и нажмите «Рефакторинг» > «Модулировать» . В открывшемся диалоговом окне выберите модуль, в который должны быть помещены классы, и нажмите «ОК» .
Когда вы будете готовы протестировать свое приложение Instant App, вы можете создать и запустить свой модуль Instant App на подключенном устройстве, указав URL-адрес приложения Instant App в параметрах запуска конфигурации : выберите «Запуск» > «Изменить конфигурации» , выберите свой модуль Instant App, а затем задайте URL-адрес в разделе «Параметры запуска» .
Более подробную информацию можно найти в разделе Приложения Android Instant Apps .
Модули Android Things
Новые шаблоны Android Things в мастерах создания нового проекта и нового модуля помогут вам начать разработку для устройств Интернета вещей на базе Android.
Для получения дополнительной информации ознакомьтесь с разделом «Как создать проект Android Things» .
Мастер адаптивных значков
Image Asset Studio теперь поддерживает векторные рисунки и позволяет создавать адаптивные значки запуска для Android 8.0, одновременно создавая традиционные значки (значки «Legacy») для старых устройств.
Для начала щёлкните правой кнопкой мыши по папке res в вашем проекте и выберите «Создать» > «Ресурс изображения» . В окне Asset Studio выберите «Значки запуска (адаптивные и устаревшие)» в качестве типа значка.
Примечание: для использования адаптивных значков запуска необходимо установить compileSdkVersion
на 26 или выше.
Более подробную информацию можно найти в статье об адаптивных иконках .

Поддержка ресурсов шрифтов
Для поддержки новых ресурсов шрифтов в Android 8.0 в Android Studio есть селектор ресурсов шрифтов , который поможет вам добавить шрифты в приложение или настроить проект для загрузки шрифтов на устройство (при наличии). Редактор макетов также позволяет предварительно просматривать шрифты в макете.
Чтобы попробовать загружаемые шрифты, убедитесь, что на вашем устройстве или эмуляторе установлены сервисы Google Play версии 11.2.63 или выше. Подробнее см. в статье «Загружаемые шрифты» .

Помощник по индексированию приложений Firebase
В Firebase Assistant добавлено новое руководство по тестированию индексирования приложений . Чтобы открыть помощник, выберите «Инструменты» > «Firebase» . Затем выберите «Индексирование приложений» > «Тестировать индексирование приложений» .
В руководство включены новые кнопки для проверки индексации вашего публичного и личного контента:
- На шаге 2 нажмите «Предварительный просмотр результатов поиска», чтобы убедиться, что ваши URL-адреса отображаются в результатах поиска Google.
- На шаге 3 нажмите Проверить наличие ошибок , чтобы убедиться, что индексируемые объекты вашего приложения добавлены в индекс личного контента.
Помощник по ссылкам приложений Android
Помощник по ссылкам приложений обновлен и дополнен следующими новыми возможностями:
Добавьте URL-тесты для каждого сопоставления URL-адресов, чтобы убедиться, что ваши фильтры намерений обрабатывают реальные URL-адреса.
Вы также можете определить эти проверки URL вручную, используя тег
<tools:validation>
описанный ниже.Создайте файл ссылок на цифровые активы с соответствующей записью объекта для поддержки Google Smart Lock и добавьте соответствующий тег
asset_statements
<meta-data>
в файл манифеста.

Валидатор URL-фильтра намерений
Android Studio теперь поддерживает специальный тег в файле манифеста, позволяющий тестировать URL-адреса фильтров намерений . Это те же теги, которые может создать App Links Assistant .
Чтобы объявить тестовый URL для фильтра намерений, добавьте элемент <tools:validation>
рядом с соответствующим элементом <intent-filter>
. Например:
<activity ...>
<intent-filter>
...
</intent-filter>
<tools:validation testUrl="https://www.example.com/recipe/1138" />
</activity>
Обязательно также включите xmlns:tools="http://schemas.android.com/tools"
в тег <manifest>
.
Если какой-либо из тестовых URL-адресов не соответствует определению фильтра намерений, возникает ошибка линтинга. Такая ошибка всё ещё позволяет собирать отладочные варианты, но нарушает работу релизных сборок.

Редактор макетов
Редактор макетов был обновлен и получил ряд улучшений, включая следующие:
- Новая компоновка панели инструментов и значков.
- Обновленная компоновка дерева компонентов.
- Улучшена вставка представлений методом перетаскивания.
- Новая панель ошибок под редактором, на которой отображаются все проблемы с предложениями по их устранению (если таковые имеются).
- Различные улучшения пользовательского интерфейса для создания с помощью
ConstraintLayout
, включая следующие:- Новая поддержка для создания барьеров .
- Новая поддержка создания групп: на панели инструментов выберите «Руководства» > «Добавить группу» (требуется ConstraintLayout 1.1.0 beta 2 или выше).
- Новый пользовательский интерфейс для создания цепочек: выберите несколько представлений, затем щелкните правой кнопкой мыши и выберите Цепочка .

Инспектор макетов
В инспекторе макетов реализованы усовершенствования, упрощающие отладку проблем с макетами приложений, в том числе группировка свойств в общие категории и новые функции поиска на панелях «Дерево представлений» и « Свойства» .

APK-анализатор
Теперь вы можете использовать APK Analyzer из командной строки с помощью инструмента apkanalyzer
.
APK Analyzer также был обновлен и получил следующие улучшения:
- Для APK, созданных с помощью ProGuard, вы можете загрузить файлы сопоставления ProGuard, которые добавляют возможности средству просмотра DEX, в том числе:
- Узлы, выделенные жирным шрифтом, указывают на то, что их не следует удалять при сжатии кода.
- Кнопка для отображения узлов, удаленных в процессе сжатия.
- Кнопка, восстанавливающая исходные имена узлов в древовидной структуре, которые были скрыты ProGuard.
- DEX Viewer теперь показывает предполагаемое влияние размера каждого пакета, класса и метода.
- Новые параметры фильтрации вверху для отображения и скрытия полей и методов.
- В древовидной структуре узлы, являющиеся ссылками, не определенными в файле DEX, отображаются курсивом.
Для получения дополнительной информации см. раздел Анализ вашей сборки с помощью APK Analyzer .
Предварительный просмотр компилятора D8 DEX
В Android Studio 3.0 доступен новый опциональный компилятор DEX под названием D8. В конечном итоге он заменит компилятор DX, но вы можете уже сейчас включить его использование.
Компиляция DEX напрямую влияет на время сборки вашего приложения, размер файла .dex
и производительность выполнения. Сравнивая новый компилятор D8 с текущим компилятором DX, D8 компилирует быстрее и выводит файлы .dex
меньшего размера, обеспечивая при этом такую же или даже лучшую производительность выполнения приложения.
Чтобы попробовать, установите следующее в файле gradle.properties
вашего проекта:
android.enableD8=true
Более подробную информацию можно найти в блоге о компиляторе D8 .
Репозиторий Maven от Google
Android Studio теперь по умолчанию использует репозиторий Maven от Google, а не полагается на Android SDK Manager для получения обновлений для Android Support Library, Google Play Services, Firebase и других зависимостей. Это упрощает поддержание библиотек в актуальном состоянии, особенно при использовании системы непрерывной интеграции (CI).
Все новые проекты теперь по умолчанию включают репозиторий Google Maven. Чтобы обновить существующий проект, добавьте google()
в блок repositories
файла build.gradle
верхнего уровня:
allprojects {
repositories {
google()
}
}
Подробнее о репозитории Maven от Google можно узнать здесь .
Другие изменения
- Отладка нативного кода в Android Studio больше не поддерживается в 32-разрядной версии Windows. Мы решили сосредоточиться на других платформах, поскольку их использует очень мало разработчиков. Если вы используете 32-разрядную версию Windows и планируете отлаживать нативный код, вам следует продолжать использовать Android Studio 2.3 .
- Обновлена базовая IDE до IntelliJ 2017.1.2 , которая добавляет ряд новых функций из версий 2016.3 и 2017.1 , таких как рефакторинг языка Java 8, подсказки параметров, семантическая подсветка, перетаскиваемые точки останова, мгновенные результаты поиска и многое другое.
- Добавлено много новых проверок линта.
- Также ознакомьтесь с последними обновлениями эмулятора Android .