2015-01-11 3 views
1

Я хочу упаковать свою библиотеку как aar.Упаковка Android AAR, которая имеет зависимости

В библиотеке есть несколько зависимостей (универсальный загрузчик изображений, ORMLite, гуава ...)

Он также имеет зависимость для другой библиотеки, которую я написал (называть его «библиотекой B»).

У меня 2 вопроса:

  1. будет каждый, кто будет использовать мою библиотеку необходимо добавить зависимости в зависимости от зависимостей библиотеки (универсальный загрузчик изображений, ORMLite, гуава ...)
  2. мне нужно делать создать отдельный aar для «библиотеки B», и у пользователей моей библиотеки есть отдельная зависимость для него?

ответ

1

Будет все, кто будет использовать мою библиотеку нужно добавить зависимости в соответствии с зависимостями библиотеки (универсальный загрузчик изображений, ORMLite, гуава ...)

Не, если вы распространяете ваш AAR, как артефакт в репозитории с соответствующими метаданными (например, файл POM в стиле Maven). Метаданные будут указывать на ваши зависимости, а системы сборки (например, Gradle) будут тянуть зависимости.

Нужно ли мне создать отдельную AAR для «библиотеки B»

Да, в противном случае никто не будет иметь доступ к нему, если не устранить его и сложите ее код в первой библиотеке.

и у пользователей моей библиотеки есть отдельная зависимость для этого?

См. Выше для установления зависимостей.

0

Вам не не нужно делать, и делать это только следующий: , если AAR libray есть тридцать зависимостей: вы должны сделать другие использовать AAR библиотеку в пути: , например:

compile('com.android:com.android.download:1.3') 

или

compile('com.android:com.android.download:[email protected]'){ 
     transitive = true 
} 

если ваш AAR libray имеют не тридцать зависимостей:

compile('com.android:com.android.download:[email protected]') 

Одним словом: @aar имеет конфликт с дефолтным сводом транзитивных

Смежные вопросы