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

Зависимости:
Минимальная версия Версия по умолчанию Примечания
Градл 2.2.1 2.2.1 Более подробную информацию см. в разделе Обновление Gradle .
Инструменты сборки SDK 21.1.1 21.1.1 Установите или настройте инструменты сборки SDK.
Общие примечания:
  • Интегрировал плагин Data Binding в плагин 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 теперь использует 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, теперь она игнорирует файлы, не являющиеся классами.
  • Добавлена ​​поддержка векторных рисунков для генерации PNG во время сборки для обратной совместимости. Плагин Android для Gradle генерирует PNG для каждого векторного рисунка, найденного в каталоге ресурсов, в котором не указана версия API или указан атрибут android:minSdkVersion 20 или ниже в элементе <uses-sdk> в манифесте приложения. Вы можете задать плотность PNG, используя свойство generatedDensities в разделах defaultConfig или productFlavor файла build.gradle .
  • Добавлено совместное использование mockable android.jar , который плагин генерирует только один раз и использует для модульного тестирования. Теперь его совместно используют несколько модулей, таких как app и lib . Удалите $rootDir/build , чтобы сгенерировать его заново.
  • Изменена обработка ресурсов Java, чтобы она происходила до задач обфускации, а не во время упаковки APK. Это изменение позволяет задачам обфускации иметь возможность адаптировать ресурсы Java после обфускации пакетов.
  • Исправлена ​​проблема с использованием кода Java Native Interface (JNI) в экспериментальном плагине библиотеки.
  • Добавлена ​​возможность задавать версию платформы отдельно от атрибута android:compileSdkVersion в плагине экспериментальной библиотеки.