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