Плагин 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 Build Tools. Плагин Android Gradle теперь использует версию 28.0.3 по умолчанию.

Новые возможности

  • Поддержка создания Android App Bundles: App Bundle — это новый формат загрузки, который включает весь скомпилированный код и ресурсы вашего приложения, откладывая генерацию APK и подписание в Google Play Store. Вам больше не нужно создавать, подписывать и управлять несколькими APK, а пользователи получают меньшие загрузки, оптимизированные для их устройств. Чтобы узнать больше, прочитайте About Android App Bundles .

  • Поддержка улучшенных скоростей инкрементальной сборки при использовании процессоров аннотаций: AnnotationProcessorOptions DSL теперь расширяет CommandLineArgumentProvider , что позволяет вам или автору процессора аннотаций аннотировать аргументы для процессора с помощью аннотаций типа свойства инкрементальной сборки . Использование этих аннотаций улучшает правильность и производительность инкрементальных и кэшированных чистых сборок. Чтобы узнать больше, прочитайте Передача аргументов процессорам аннотаций .

  • Инструмент миграции для AndroidX: при использовании плагина Android Gradle 3.2.0 с Android 3.2 и выше вы можете перенести локальные и Maven-зависимости вашего проекта для использования новых библиотек AndroidX, выбрав Refactor > Migrate to AndroidX в строке меню. Использование этого инструмента миграции также устанавливает следующие флаги в true в вашем файле gradle.properties :

    • android.useAndroidX : Если установлено значение true , плагин Android использует соответствующую библиотеку AndroidX вместо Support Library. Если этот флаг не указан, плагин по умолчанию устанавливает его в 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()
                }
              
  • Собственный multidex теперь включен по умолчанию. Предыдущие версии Android Studio включали собственный multidex при развертывании отладочной версии приложения на устройстве с Android API уровня 21 или выше. Теперь, независимо от того, развертываете ли вы на устройстве или создаете APK для выпуска, плагин Android Gradle включает собственный multidex для всех модулей, которые устанавливают minSdkVersion=21 или выше.

  • Плагин теперь требует использования минимальной версии плагина protobuf (0.8.6), плагина Kotlin (1.2.50) и плагина Crashlytics (1.25.4).

  • Плагин модуля функций, com.android.feature , теперь требует использования только букв, цифр и подчеркиваний при указании имени модуля. Например, если имя вашего модуля функций включает дефисы, вы получите ошибку сборки. Это поведение соответствует поведению динамического плагина функций.

Исправления ошибок