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.

Эта версия также включает в себя следующее:

  • Поддержка Андроид 8.0.
  • Поддержка создания отдельных APK на основе языковых ресурсов.
  • Поддержка библиотек Java 8 и функций языка Java 8 (без компилятора Jack).
  • Поддержка библиотеки поддержки тестирования Android 1.0 (Android Test Utility и Android Test Orchestrator ).
  • Улучшена скорость сборки ndk-build и cmake.
  • Улучшена скорость синхронизации Gradle.
  • AAPT2 теперь включен по умолчанию.
  • Использование ndkCompile теперь более ограничено. Вместо этого вам следует перейти на использование CMake или ndk-build для компиляции собственного кода, который вы хотите упаковать в свой APK. Чтобы узнать больше, прочтите «Миграция с ndkcompile» .

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

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

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

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

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

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

Профилировщик ЦП

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

Дополнительную информацию см. в руководстве по профилировщику ЦП .

Профилировщик памяти

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

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

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

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

Дополнительную информацию см. в руководстве Network Profiler .

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

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

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

Дополнительную информацию см. в разделе Профиль и отладка готовых APK-файлов .

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

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

Чтобы открыть, нажмите «Просмотр» > «Инструменты Windows» > «Проводник файлов устройства» .

Дополнительную информацию см. в руководстве «Проводник файлов устройства» .

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

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

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

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

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

Модули Android Things

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

Дополнительные сведения см. в статье, как создать проект Android Things .

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

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

Для начала щелкните правой кнопкой мыши папку res в вашем проекте и выберите «Создать» > «Актив изображения» . В окне Asset Studio выберите «Значки запуска (адаптивные и устаревшие)» в качестве типа значков.

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

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

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

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

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

Помощник по индексированию приложений Firebase

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

Учебное пособие включает новые кнопки для проверки индексации общедоступного и личного контента:

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

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

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

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

  • Создайте файл ссылок на цифровые активы с соответствующей записью объекта для поддержки Google Smart Lock и добавьте соответствующий тег asset_statements <meta-data> в файл манифеста.

Валидатор фильтра намерений URL-адресов

Android Studio теперь поддерживает специальный тег в файле манифеста, который позволяет проверять URL-адреса фильтра намерений . Это те же теги, которые может создать для вас Ассистент по ссылкам на приложения .

Чтобы объявить тестовый 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 также был обновлен со следующими улучшениями:

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

Дополнительную информацию см. в разделе Анализ сборки с помощью APK Analyzer .

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

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

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

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

android.enableD8=true
    

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

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

Android Studio теперь по умолчанию использует репозиторий Google Maven, а не зависит от Android SDK Manager для получения обновлений библиотеки поддержки Android, сервисов Google Play, Firebase и других зависимостей. Это упрощает поддержание актуальности ваших библиотек, особенно при использовании системы непрерывной интеграции (CI).

Все новые проекты теперь по умолчанию включают репозиторий Google Maven. Чтобы обновить существующий проект, добавьте google() в блок repositories файла build.gradle верхнего уровня:

      allprojects {
          repositories {
              google()
          }
      }
    
    

Подробнее о репозитории Google Maven можно узнать здесь .

Другие изменения

  • Встроенная отладка с помощью Android Studio больше не поддерживает 32-разрядную версию Windows. Мы решили сосредоточиться на других платформах, потому что эту платформу используют очень немногие разработчики. Если вы используете 32-разрядную версию Windows и планируете отлаживать собственный код, вам следует продолжать использовать Android Studio 2.3 .
  • Обновлена ​​базовая IDE до IntelliJ 2017.1.2 , в которой добавлен ряд новых функций из 2016.3 и 2017.1 , таких как рефакторинг языка Java 8, подсказки по параметрам, семантическая подсветка, перетаскиваемые точки останова, мгновенные результаты поиска и многое другое.
  • Добавлено много новых проверок на наличие ворса.
  • Также ознакомьтесь с последними обновлениями эмулятора Android .