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

Зависимости:
Минимальная версия Версия по умолчанию Примечания
Грэдл 2.2.1 2.2.1 Для получения более подробной информации см. раздел «Обновление Gradle» .
Инструменты сборки SDK 21.1.1 21.1.1 Установите или настройте инструменты сборки SDK.
Общие примечания:
  • В плагин Android для Gradle интегрирован плагин Data Binding. Чтобы включить его, добавьте следующий код в каждый файл build.gradle для каждого проекта, использующего этот плагин:
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • Добавлен новый API Transform , позволяющий сторонним плагинам манипулировать скомпилированными файлами .class до их преобразования в файлы .dex . API Transform упрощает внедрение пользовательских манипуляций с классами, предлагая при этом большую гибкость в отношении того, что вы можете манипулировать. Чтобы вставить 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 в экспериментальном плагине библиотеки.