У меня есть проект библиотеки Android с несколькими разновидностями. Я загружаю файлы aar этих разных разновидностей в частный репозиторий, используя плагин 'maven-publish'
. Я использовал variant.outputs[0].outputFile
в качестве значения параметра publishing.publications.artifact
.
publishing.publications.create variant.flavorName, MavenPublication, {
groupId "$libraryGroupId.$variant.flavorName"
artifactId libraryArtifactId
version libraryVersion
artifact variant.outputs[0].outputFile
}
Работает отлично, но я недавно обновил плагин библиотеки Gradle до com.android.tools.build:gradle:3.3.2
и получил следующее предупреждение:
ПРЕДУПРЕЖДЕНИЕ: API 'optionOutput.getPackageLibrary ()' устарел и был заменен на 'variable.getPackageLibraryProvider ()'.
Он будет удален в конце 2019 года.
Для получения дополнительной информации см. https://d.android.com/r/tools/task-configuration-avoidance.
Чтобы определить, что вызывает optionOutput.getPackageLibrary (), используйте -Pandroid.debug.obsoleteApi = true в командной строке для отображения трассировки стека.
Это не проблема сама по себе, поскольку она все еще работает, но мне не нравится это предупреждение, и, поскольку я очищаю вещи в своем build.gradle
, я решил попытаться исправить это.
Я пробовал много разных комбинаций, пытаясь найти информацию о том, как получить aar от провайдера библиотеки пакетов. По этому вопросу почти ничего не доступно (что действительно расстраивает), но я нашел этот пост , который побудил меня попробовать:
variant.getPackageLibraryProvider().get()
Это обеспечивает com.android.build.gradle.tasks.BundleAar
, который, кажется, работает, когда установлен как артефакт публикации (artifact variant.getPackageLibraryProvider().get()
), и исправляет предупреждение.
Это правильный способ исправить это предупреждение, или по какой-то причине оно будет иметь неприятные последствия? Кто-нибудь знает, где я могу получить больше информации об этом?