Плагин Android Gradle 3.2.0 (сентябрь 2018 г.)
Для этой версии плагина Android требуется следующее:
Минимальная версия | Версия по умолчанию | Примечания | |
---|---|---|---|
Градл | 4.6 | 4.6 | Чтобы узнать больше, см. обновление Gradle . |
Инструменты сборки SDK | 28.0.3 | 28.0.3 | Установите или настройте инструменты сборки SDK. |
3.2.1 (октябрь 2018 г.)
Благодаря этому обновлению вам больше не нужно указывать версию для инструментов сборки SDK. Плагин Android Gradle теперь по умолчанию использует версию 28.0.3.
Новые возможности
Поддержка создания пакетов приложений для Android. Пакет приложений — это новый формат загрузки, который включает в себя весь скомпилированный код и ресурсы вашего приложения, но при этом откладывает создание APK и регистрацию в Google Play Store. Вам больше не придется создавать, подписывать и управлять несколькими APK-файлами, а пользователи смогут загружать файлы меньшего размера, оптимизированные для их устройств. Дополнительные сведения см. в статье О наборах приложений для Android .
Поддержка повышения скорости добавочной сборки при использовании обработчиков аннотаций: DSL
AnnotationProcessorOptions
теперь расширяетCommandLineArgumentProvider
, что позволяет вам или автору обработчика аннотаций аннотировать аргументы для процессора с помощью аннотаций типов свойств добавочной сборки . Использование этих аннотаций повышает правильность и производительность инкрементальных и кэшированных чистых сборок. Чтобы узнать больше, прочтите Передача аргументов обработчикам аннотаций .Инструмент миграции для AndroidX: при использовании подключаемого модуля Android Gradle 3.2.0 с Android 3.2 и более поздних версий вы можете перенести локальные зависимости вашего проекта и зависимости Maven для использования новых библиотек AndroidX, выбрав «Рефакторинг» > «Мигрировать в AndroidX» в строке меню. Использование этого инструмента миграции также устанавливает в файле
gradle.properties
значениеtrue
для следующих флагов:android.useAndroidX
: если установлено значениеtrue
, плагин Android использует соответствующую библиотеку AndroidX вместо библиотеки поддержки. Если этот флаг не указан, плагин по умолчанию устанавливает для негоfalse
.android.enableJetifier
: если установлено значениеtrue
, плагин Android автоматически переносит существующие сторонние библиотеки на использование AndroidX, переписывая их двоичные файлы. Если этот флаг не указан, плагин по умолчанию устанавливает для негоfalse
. Вы можете установить для этого флага значениеtrue
только в том случае, если дляandroid.useAndroidX
также установлено значениеtrue
, в противном случае вы получите ошибку сборки.Чтобы узнать больше, прочитайте обзор AndroidX .
Новый инструмент для сжатия кода, R8: R8 — это новый инструмент для сжатия и запутывания кода, который заменяет ProGuard. Вы можете начать использовать предварительную версию R8, включив в файл
gradle.properties
вашего проекта следующее:android.enableR8 = true
android.enableR8 = true
Изменения в поведении
Дешугарирование с помощью D8 теперь включено по умолчанию.
AAPT2 теперь находится в репозитории Google Maven. Чтобы использовать AAPT2, убедитесь, что в вашем файле
build.gradle
есть зависимостьgoogle()
, как показано ниже:buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
Собственный мультидекс теперь включен по умолчанию. Предыдущие версии Android Studio включали встроенный мультидекс при развертывании отладочной версии приложения на устройстве с Android API уровня 21 или выше. Теперь, независимо от того, выполняете ли вы развертывание на устройстве или создаете APK для выпуска, плагин Android Gradle включает встроенный мультидекс для всех модулей, для которых установлено
minSdkVersion=21
или выше.Плагин теперь использует минимальную версию плагина protobuf (0.8.6), плагина Kotlin (1.2.50) и плагина Crashlytics (1.25.4).
Плагин функционального модуля
com.android.feature
теперь требует использования только букв, цифр и знаков подчеркивания при указании имени модуля. Например, если имя вашего функционального модуля содержит дефисы, вы получите ошибку сборки. Это поведение соответствует поведению плагина динамических функций.
Исправления ошибок
- JavaCompile теперь кэшируется в проектах с привязкой данных. ( Выпуск № 69243050 )
- Лучше избегать компиляции для библиотечных модулей с привязкой данных. ( Выпуск № 77539932 )
- Теперь вы можете повторно включить настройку по требованию, если вы отключили ее в более ранних версиях из-за некоторых непредсказуемых ошибок сборки. ( Выпуск № 77910727 )