Когда мы публикуем ресурсы в Maven, мы полагаемся на comComponents.build-name-of-variant со следующим кодом:
Код: Выделить всё
afterEvaluate {
publishing {
publications {
brand1Apk(MavenPublication) {
groupId = 'apk.release.' + brand1
artifactId = 'brand1'
from components.**brand1Release_apk**
}
...
}
}
ВНИМАНИЕ: Программные компоненты не будут создается автоматически для публикации Maven из плагина Android Gradle 8.0. Чтобы согласиться на будущее поведение, установите свойство Gradle android.disableAutomaticComponentCreation=true в файле gradle.properties или используйте новый DSL публикации.
После обновления до AGP 8 публикация прерывается, поскольку, как и ожидалось, программный компонент, brand1Release_apk часть компонентов.brand1Release_apk, не создается автоматически.И здесь начинается мое замешательство.
Я нашел эту тему. Программные компоненты не будут создаваться автоматически для публикации Maven из плагина Android Gradle 8.0, что указывает на хорошее направление. об использовании singleVariant('release') {} и multipleVariants{}, но, прочитав документацию по ApplicationPublishing и настройке вариантов публикации и LibraryPublishing, у меня такое ощущение, что эти параметры более зарезервировано для публикации библиотек.
Кроме того, в теме выше упоминается плагин 'com.android.library', и в моем случае все вышеперечисленное есть в основном модуле приложения, который конечно, использует плагин com.android.application.
Есть ли у кого-нибудь смелая душа, чтобы пролить свет на эти загадки Gradle? Как я могу использовать компоненты, связанные с вариантами сборки, в задаче MavenPublications в AGP 8?
Подробнее здесь: https://stackoverflow.com/questions/762 ... e-plugin-8
Мобильная версия