Автоматическое создание программных компонентов, удаленных из плагина Android Gradle 8.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Автоматическое создание программных компонентов, удаленных из плагина Android Gradle 8.

Сообщение Anonymous »

У нас есть проект Android, который использует плагин Android Gradle 7.X и использует несколько вариантов сборки для публикации файлов .apks и .aabs первоначально в нашем репозитории Maven, а также по запросу в Play Store. Варианты сборки объединяются с помощью имени productFlavor и параметров buildConfig, и в результате получается что-то вроде brand1-release или brand2-. debug.
Когда мы публикуем ресурсы в Maven, мы полагаемся на comComponents.build-name-of-variant со следующим кодом:

Код: Выделить всё

afterEvaluate {
publishing {
publications {
brand1Apk(MavenPublication) {
groupId = 'apk.release.' + brand1
artifactId = 'brand1'
from components.**brand1Release_apk**
}
...
}
}
Теперь с AGP 7 все работает нормально, но я заметил это предупреждение

ВНИМАНИЕ: Программные компоненты не будут создается автоматически для публикации 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»