Плагин Android для Gradle, версия 1.5.0 (ноябрь 2015 г.)

Зависимости:
Минимальная версия Версия по умолчанию Примечания
Грейдл 2.2.1 2.2.1 Более подробную информацию см. в разделе Обновление Gradle .
Инструменты сборки SDK 21.1.1 21.1.1 Установите или настройте инструменты сборки SDK.
Общие примечания:
  • Интегрируйте плагин привязки данных в плагин Android для Gradle. Чтобы включить его, добавьте следующий код в каждый файл build.gradle проекта, использующий этот плагин:
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • Добавлен новый API Transform , позволяющий сторонним плагинам манипулировать скомпилированными файлами .class до их преобразования в файлы .dex . API Transform упрощает внедрение пользовательских манипуляций с классами, обеспечивая большую гибкость в отношении доступных для манипуляций объектов. Чтобы вставить преобразование в сборку, создайте новый класс, реализующий один из интерфейсов Transform , и зарегистрируйте его с помощью android.registerTransform(theTransform) или android.registerTransform(theTransform, dependencies) . Связывать задачи между собой не нужно. Обратите внимание на следующее в отношении API Transform:
    • Преобразование может применяться к одному или нескольким из следующих объектов: текущему проекту, подпроектам и внешним библиотекам.
    • Преобразование должно быть зарегистрировано глобально, что применит его ко всем вариантам.
    • Внутренняя обработка кода через библиотеку Java Code Coverage Library (JaCoCo), ProGuard и MultiDex теперь использует API Transform. Однако Java Android Compiler Kit (Jack) не использует этот API: он используется только в ветвлении кода javac/dx .
    • Gradle выполняет преобразования в следующем порядке: JaCoCo, сторонние плагины, ProGuard. Порядок выполнения сторонних плагинов совпадает с порядком добавления преобразований сторонними плагинами; разработчики сторонних плагинов не могут управлять порядком выполнения преобразований через API.
  • Метод получения dex из класса ApplicationVariant объявлен устаревшим. Доступ к задаче Dex через API вариантов больше невозможен, поскольку теперь это выполняется через преобразование. В настоящее время альтернативы для управления процессом dex нет.
  • Исправлена дополнительная поддержка активов.
  • Улучшена поддержка MultiDex: она стала доступна для тестовых проектов, а тесты теперь автоматически имеют зависимость com.android.support:multidex-instrumentation .
  • Добавлена возможность корректно завершать сборку Gradle сбоем и сообщать об основной причине ошибки, когда сборка Gradle вызывает асинхронные задачи и в рабочем процессе происходит сбой.
  • Добавлена поддержка настройки определенного двоичного интерфейса приложения (ABI) в вариантах, содержащих несколько ABI.
  • Добавлена поддержка списка серийных номеров устройств, разделенных запятыми, для переменной среды ANDROID_SERIAL при установке или запуске тестов.
  • Исправлена ошибка установки на устройствах под управлением Android 5.0 (уровень API 20) и выше, если имя APK содержит пробел.
  • Исправлены различные проблемы, связанные с выводом ошибок Android Asset Packaging Tool (AAPT).
  • Добавлена поддержка инкрементального инструментария JaCoCo для ускорения инкрементальных сборок. Плагин Android для Gradle теперь напрямую вызывает инструментарий JaCoCo. Чтобы принудительно установить новую версию инструментатора JaCoCo, необходимо добавить его в качестве зависимости скрипта сборки.
  • Исправлена поддержка JaCoCo, теперь она игнорирует файлы, не являющиеся классами.
  • Добавлена поддержка векторных изображений для создания PNG-файлов во время сборки для обеспечения обратной совместимости. Плагин Android для Gradle генерирует PNG-файлы для каждого векторного изображения, найденного в каталоге ресурсов, для которого не указана версия API или указан атрибут android:minSdkVersion со значением 20 или ниже в элементе <uses-sdk> манифеста приложения. Плотность PNG можно задать с помощью свойства generatedDensities в разделах defaultConfig или productFlavor файла build.gradle .
  • Добавлен общий доступ к макету android.jar , который плагин генерирует только один раз и использует для модульного тестирования. Теперь он доступен нескольким модулям, таким как app и lib . Удалите $rootDir/build , чтобы сгенерировать его заново.
  • Обработка ресурсов Java изменена таким образом, чтобы она выполнялась до задач обфускации, а не во время упаковки APK. Это изменение позволяет задачам обфускации адаптировать ресурсы Java после обфускации пакетов.
  • Исправлена проблема с использованием кода Java Native Interface (JNI) в экспериментальном плагине библиотеки.
  • Добавлена возможность задавать версию платформы отдельно от атрибута android:compileSdkVersion в плагине экспериментальной библиотеки.