2016-07-10 1 views
0

Предполагая, что я строю LibraryA и скомпилировать его в LibA.jar, а затем создать LibraryB и положить сгенерированный LibA.jar в LibraryB/libs, и скомпилировать его в LibB.jar.Как я могу отказаться от метода из библиотеки зависимостей библиотеки в Android Studio?

Проблема в том, что я положил LibB.jar в новый модуль приложений для Android, я не могу напрямую ссылаться на методы в LibA.jar. Похоже, я могу ссылаться только на методы в LibB.jar, но LibB.jar скомпилирован с зависимостью LibA. Есть ли способ преодолеть эту проблему?

ответ

0

Предполагая, что у вас есть все доступ исходный код LibraryA и LibraryB, вы можете просто решить, сделав LibraryA как отделено модуль для LibraryB. Поэтому, когда вы хотите включить LibraryB в проект, вы должны также включить LibraryA.

Если LibraryA скрыт в LibraryB для наружного применения, вы можете сделать публичный метод, где вы можете получить LibraryA от LibraryB, что-то вроде getLibraryA().methodA1().

0

Вы можете использовать .aar для обертывания библиотеки. Формат .aar позволяет «встраивать» зависимости внутри. Существует Gradle lib on GitHub, который помогает в этом. Если вы используете репозитории Maven, файл POM для библиотеки LibraryB может описывать свою библиотеку зависимостей.

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