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 для Gradle .

Если вы готовы обновить плагин до новой версии, см. раздел «Переход на Android Plugin для Gradle 3.0.0» .

поддержка Kotlin

Как было объявлено на Google I/O 2017 , язык программирования Kotlin теперь официально поддерживается на Android. Таким образом, с этим релизом Android Studio включает поддержку языка Kotlin для разработки под Android.

Вы можете интегрировать Kotlin в свой проект, преобразовав Java-файл в Kotlin (нажмите «Код» > «Преобразовать Java-файл в Kotlin-файл ») или создав новый проект с поддержкой Kotlin с помощью мастера создания нового проекта.

Для начала ознакомьтесь с инструкцией по добавлению Kotlin в ваш проект .

Поддержка языковых возможностей Java 8

Теперь вы можете использовать некоторые языковые возможности Java 8 и библиотеки, созданные с использованием Java 8. Jack больше не требуется , и для использования улучшенной поддержки Java 8, встроенной в стандартный набор инструментов, следует сначала отключить Jack .

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

Android Profiler

Новый инструмент Android Profiler заменяет Android Monitor и предоставляет новый набор инструментов для измерения использования ЦП, памяти и сети вашим приложением в режиме реального времени. Вы можете выполнять трассировку методов на основе примеров для измерения времени выполнения кода, получать дампы кучи, просматривать распределение памяти и изучать подробности файлов, передаваемых по сети.

Чтобы открыть, нажмите «Вид» > «Окна инструментов» > «Профилировщик Android» (или нажмите «Профилировщик Android» на панели инструментов).

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

Примечание: окно Logcat также переместилось в отдельное окно (ранее оно находилось внутри Android Monitor, который был удален).

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

Профайлер ЦП

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

Для получения более подробной информации см. руководство по CPU Profiler .

Профайлер памяти

Инструмент Memory Profiler помогает выявлять утечки памяти и изменения в её использовании, которые могут приводить к зависаниям, сбоям и даже краху приложений. Он отображает график использования памяти вашим приложением в реальном времени, позволяет создавать дампы кучи, принудительно запускать сборку мусора и отслеживать выделение памяти.

Для получения более подробной информации см. руководство по профилированию памяти .

Сетевой профилировщик

Инструмент Network Profiler позволяет отслеживать сетевую активность вашего приложения, анализировать содержимое каждого сетевого запроса и устанавливать связь с кодом, сгенерировавшим этот запрос.

Для получения более подробной информации см. руководство по Network Profiler .

Профилирование и отладка APK

Теперь Android Studio позволяет профилировать и отлаживать любой APK-файл без необходимости его сборки из проекта Android Studio — при условии, что APK-файл собран с поддержкой отладки и у вас есть доступ к отладочным символам и исходным файлам.

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

Для получения дополнительной информации см. раздел «Предварительно собранные APK-файлы для профилирования и отладки» .

Проводник файлов устройства

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

Чтобы открыть, щелкните Вид > Окна инструментов > Проводник устройств .

Для получения более подробной информации см. руководство по использованию файлового менеджера устройства .

Поддержка мгновенных приложений

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

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

А когда вы будете готовы протестировать свое мгновенное приложение, вы можете собрать и запустить модуль мгновенного приложения на подключенном устройстве, указав URL-адрес мгновенного приложения в параметрах запуска конфигурации : выберите «Запуск» > «Изменить конфигурации» , выберите свой модуль мгновенного приложения, а затем установите URL-адрес в разделе «Параметры запуска» .

Для получения более подробной информации см. раздел «Мгновенные приложения для Android» .

Модули Android Things

В мастерах создания нового проекта и нового модуля появились новые шаблоны Android Things, которые помогут вам начать разработку для IoT-устройств на базе Android.

Для получения более подробной информации см. раздел «Как создать проект Android Things» .

Мастер адаптивных значков

В Image Asset Studio теперь поддерживаются векторные изображения , что позволяет создавать адаптивные значки запуска для Android 8.0, а также традиционные значки (так называемые «устаревшие» значки) для более старых устройств.

Для начала щелкните правой кнопкой мыши на папке res в вашем проекте, затем выберите New > Image Asset . В окне Asset Studio выберите тип значка Launcher Icons (Adaptive and Legacy) .

Примечание: Для использования адаптивных значков запуска необходимо установить compileSdkVersion равным 26 или выше.

Для получения более подробной информации ознакомьтесь с разделом «Адаптивные значки» .

Поддержка шрифтовых ресурсов

Для поддержки новых ресурсов шрифтов в Android 8.0, Android Studio включает селектор ресурсов шрифтов , который помогает интегрировать шрифты в ваше приложение или настроить проект для загрузки шрифтов на устройство (если они доступны). Редактор макета также может предварительно просмотреть шрифты в вашем макете.

Чтобы попробовать загружаемые шрифты, убедитесь, что на вашем устройстве или эмуляторе установлена ​​версия Google Play Services 11.2.63 или выше. Для получения дополнительной информации ознакомьтесь с разделом «Загружаемые шрифты» .

Firebase App Indexing Assistant

В Firebase Assistant добавлено новое руководство по проверке индексации приложений . Чтобы открыть Assistant, выберите Инструменты > Firebase . Затем выберите Индексация приложений > Проверить индексацию приложений .

В этом руководстве появились новые кнопки для проверки индексации вашего общедоступного и личного контента:

  • На шаге 2 нажмите «Предварительный просмотр результатов поиска» , чтобы убедиться, что ваши URL-адреса отображаются в результатах поиска Google.
  • На шаге 3 нажмите «Проверить наличие ошибок» , чтобы убедиться, что индексируемые объекты в вашем приложении добавлены в личный индекс контента.

В помощник по ссылкам на приложения добавлены следующие новые возможности:

  • Добавьте проверки URL-адресов для каждого сопоставления URL-адресов, чтобы убедиться, что ваши фильтры намерений обрабатывают реальные URL-адреса.

    Вы также можете определить эти проверки URL-адресов вручную, используя тег <tools:validation> описанный ниже.

  • Создайте файл Digital Asset Links с соответствующей записью объекта для поддержки 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 из командной строки с помощью инструмента apkanalyzer .

В программу APK Analyzer также внесены следующие улучшения:

  • Для APK-файлов, созданных с использованием ProGuard, можно загружать файлы сопоставления ProGuard, которые добавляют возможности в средство просмотра DEX, в том числе:
    • Жирным шрифтом выделены узлы, указывающие на то, что их не следует удалять при сокращении кода.
    • Кнопка для отображения узлов, удаленных в процессе уменьшения размера.
    • Кнопка, восстанавливающая исходные имена узлов в древовидном представлении, которые были скрыты программой ProGuard.
  • Теперь в DEX Viewer отображается предполагаемое влияние каждого пакета, класса и метода на размер системы.
  • Вверху появились новые параметры фильтрации для отображения и скрытия полей и методов.
  • В древовидном представлении узлы, являющиеся ссылками и не определенные в DEX-файле, отображаются курсивом.

Для получения более подробной информации см. раздел «Анализ сборки с помощью APK Analyzer» .

Предварительная версия компилятора D8 DEX

В Android Studio 3.0 включен новый опциональный компилятор DEX под названием D8. В конечном итоге он заменит компилятор DX, но вы можете выбрать использование нового компилятора D8 уже сейчас.

Компиляция DEX напрямую влияет на время сборки вашего приложения, размер файла .dex и производительность во время выполнения. При сравнении нового компилятора D8 с текущим компилятором DX, D8 компилирует быстрее и создает файлы .dex меньшего размера, при этом демонстрируя ту же или лучшую производительность во время выполнения приложения.

Чтобы попробовать, добавьте следующие параметры в файл gradle.properties вашего проекта:

android.enableD8=true
    

Для получения более подробной информации см. сообщение в блоге о компиляторе D8 .

Репозиторий Maven от Google

Теперь Android Studio по умолчанию использует репозиторий Maven от Google, вместо того чтобы зависеть от Android SDK Manager для получения обновлений для библиотеки поддержки Android, 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 .