Плагин 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) . Нет необходимости связывать задачи вместе. Обратите внимание на следующее относительно Transform API:
    • Преобразование может применяться к одному или нескольким из следующих объектов: текущему проекту, подпроектам и внешним библиотекам.
    • Преобразование должно быть зарегистрировано глобально, что применимо ко всем вариантам.
    • Внутренняя обработка кода с помощью библиотеки покрытия кода Java (JaCoCo), ProGuard и MultiDex теперь использует Transform API. Однако комплект компилятора Java Android (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 (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 в плагине экспериментальной библиотеки.