Плагин Android Gradle 3.1.0 (март 2018 г.)
Для этой версии плагина Android требуется следующее:
Минимальная версия | Версия по умолчанию | Примечания | |
---|---|---|---|
Градл | 4.4 | 4.4 | Чтобы узнать больше, см. обновление Gradle . |
Инструменты сборки SDK | 27.0.3 | 27.0.3 | Установите или настройте инструменты сборки SDK. Имейте в виду, что вам больше не нужно указывать версию для инструментов сборки с помощью свойства android.buildToolsVersion — плагин по умолчанию использует минимально необходимую версию. |
Новый компилятор DEX, D8
По умолчанию Android Studio теперь использует новый компилятор DEX под названием D8. Компиляция DEX — это процесс преобразования байт-кода .class
в байт-код .dex
для среды выполнения Android (или Dalvik для более старых версий Android). По сравнению с предыдущим компилятором, называемым DX, D8 компилируется быстрее и выводит файлы DEX меньшего размера, сохраняя при этом такую же или лучшую производительность во время выполнения приложения.
D8 не должен менять ваш повседневный рабочий процесс разработки приложений. Однако если у вас возникнут какие-либо проблемы, связанные с новым компилятором, сообщите об ошибке . Вы можете временно отключить D8 и использовать DX, включив в файл gradle.properties
вашего проекта следующее:
android.enableD8=false
Для проектов, использующих функции языка Java 8 , инкрементное обессахаривание включено по умолчанию. Вы можете отключить его, указав следующее в файле gradle.properties
вашего проекта:
android.enableIncrementalDesugaring=false.
Пользователи предварительной версии: если вы уже используете предварительную версию D8, обратите внимание, что теперь она компилируется с использованием библиотек, включенных в инструменты сборки SDK , а не JDK. Итак, если вы получаете доступ к API, которые существуют в JDK, но не в библиотеках инструментов сборки SDK, вы получаете ошибку компиляции.
Изменения в поведении
При создании нескольких APK, каждый из которых нацелен на свой ABI, по умолчанию больше не создаются APK для следующих ABI:
mips
,mips64
иarmeabi
.Если вы хотите создавать APK, ориентированные на эти ABI, вы должны использовать NDK r16b или более раннюю версию и указать ABI в файле
build.gradle
, как показано ниже:splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
Кэш сборки плагина Android теперь удаляет записи кэша старше 30 дней.
Передача
"auto"
вresConfig
больше не выбирает автоматически строковые ресурсы для упаковки в APK. Если вы продолжите использовать"auto"
, плагин упакует все строковые ресурсы, предоставляемые вашим приложением и его зависимостями. Поэтому вместо этого вам следует указать каждую локаль, которую плагин должен упаковать в ваш APK.Поскольку локальные модули не могут зависеть от тестового APK вашего приложения, добавление зависимостей к вашим инструментальным тестам с использованием конфигурации
androidTestApi
вместоandroidTestImplementation
приводит к тому, что Gradle выдает следующее предупреждение:WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'
Исправления
- Устранена проблема, из-за которой Android Studio не распознавала должным образом зависимости в составных сборках.
- Устраняет проблему, из-за которой вы получаете ошибку синхронизации проекта при загрузке подключаемого модуля Android несколько раз в одной сборке, например, когда каждый из нескольких подпроектов включает подключаемый модуль Android в свой путь к классам сценария сборки.