Как обеспечить зависимость compileOnly в AAR? - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь создать библиотеку Android myLibrary , которая будет доставлена ​​как AAR другим в моей компании.

Многие из зависимостей myLibrary являются API-интерфейсами для связи с оборудованием телефона (сканирование штрих-кода и т. Д.).Требуется, чтобы одна из этих сторонних библиотек добавила его в ваш проект с compileOnly вместо реализаций , поскольку предоставленный JAR-файл содержит реализацию-заглушку;полная реализация обеспечивается устройством.

В build.gradle модуля моей библиотеки:

implementation files('libs/Vendor1.jar')
implementation files('libs/Vendor2.jar')
compileOnly files('libs/Vendor3.jar')

В этом примере API Vendor3 для аппаратного обеспечения устройства compileOnly.

Мой вариант использования заключается в том, что я хочу, чтобы потребители myLibrary могли расширять предоставляемые мной функции.Это означает, что если у меня есть MyCoolVendor3Class, и они хотят расширить его и настроить некоторые его аспекты, они не смогут касаться API Vendor3.

Как я могу предоставить зависимый API compileOnly myLibrary для потребителейбиблиотека без использования реализация ?Или они должны взять в свои руки банку Vendor3, чтобы сделать этот подход осуществимым?

Спасибо.

...