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

Зависимости:
Минимальная версия Версия по умолчанию Примечания
Gradle 2.2.1 2.2.1 Подробнее об обновлении Gradle…
SDK Build Tools; 21.1.1 21.1.1 Установите или настройте SDK Build Tools.
Общие примечания:
  • Плагин привязки данных интегрирован в плагин Android для Gradle. Чтобы включить его, добавьте следующий код в каждый файл build.gradle проекта, в котором используется плагин:
  • android {
        dataBinding {
            enabled = true
        }
    }
            
    android {
        dataBinding {
            enabled = true
        }
    }
            
  • Добавлен новый Transform API, позволяющий сторонним плагинам управлять скомпилированными файлами .class перед их преобразованием в файлы .dex. Transform API упрощает внедрение пользовательских манипуляций с классами, предлагая при этом большую гибкость в отношении того, чем вы можете манипулировать. Чтобы вставить преобразование в сборку, создайте новый класс, реализующий один из интерфейсов Transform, и зарегистрируйте его с помощью android.registerTransform(theTransform) или android.registerTransform(theTransform, dependencies). Вам не нужно связывать задачи друг с другом. Обратите внимание на следующее:
    • Преобразование может применяться к одному или нескольким из следующих элементов: текущему проекту, подпроектам и внешним библиотекам.
    • Преобразование должно быть зарегистрировано глобально, чтобы оно применялось ко всем вариантам.
    • Для внутренней обработки кода с помощью Java Code Coverage Library (JaCoCo), ProGuard и MultiDex теперь используется Transform API. Однако 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, чтобы игнорировались файлы, не являющиеся классами.
  • Добавлена поддержка класса VectorDrawable для создания PNG-файлов во время сборки в целях обратной совместимости. Плагин Android для Gradle генерирует PNG-файлы для каждого класса VectorDrawable, найденного в каталоге ресурсов, в котором не указана версия API или в элементе <uses-sdk> манифеста приложения указан атрибут android:minSdkVersion со значением 20 или ниже. Плотность PNG можно задать с помощью свойства generatedDensities в разделах defaultConfig или productFlavor файла build.gradle.
  • Добавлена возможность делиться имитируемым объектом android.jar, который плагин генерирует только один раз и использует для модульного тестирования. Теперь его используют несколько модулей, например app и lib. Удалите файл $rootDir/build, чтобы сгенерировать его заново.
  • Обработка ресурсов Java теперь выполняется до обфускации, а не во время упаковки APK. Это изменение позволяет задачам обфускации адаптировать ресурсы Java после обфускации пакетов.
  • Исправлена проблема с использованием кода Java Native Interface (JNI) в экспериментальном плагине библиотеки.
  • Добавлена возможность задавать версию платформы отдельно от атрибута android:compileSdkVersion в экспериментальном плагине библиотеки.