Ответ 1
Если я правильно понимаю ваш вопрос, есть 3 проекта:
Проект библиотеки 2 → Проект библиотеки 1 → Проект приложения
Вы редактируете "Проект библиотеки 1" и добавили к нему приложение /build.grade зависимости от проекта библиотеки 2. Что-то вроде этого: compile 'com.arasthel:gnavdrawer-library:1.1.5'
Я не уверен, где вы столкнулись с проблемой, но я все равно попытаюсь ответить. Если я полностью вне базы, не могли бы вы рассказать о том, как зависимость AAR не работает? Любые сообщения об ошибках?, класс/ресурс не найден и т.д.
Я думаю, маловероятно, что вы не можете использовать класс из Библиотечного проекта 2 внутри Библиотечного проекта 1, потому что я просто пробовал это сам и, похоже, работает нормально. Стоит отметить, что файл aar файла библиотеки Project НЕ включает классы или ресурсы из Библиотечного проекта 2. Проект библиотеки 2 будет отмечен как зависимость в проекте библиотеки 1 pom if опубликованный с использованием gradle плагина maven для публикации проекта библиотеки 1.
Я предполагаю, что у вас возникла проблема в Application Project? Возможно, класс из Библиотечного проекта 2 не найден в проекте приложения? Если это правильно, то есть два возможных решения:
-
Включить транзитивные зависимости от зависимости aar в приложении приложения app/build.gradle: вместо
compile 'com.example:myLibrary:versionX'
сделать егоcompile('com.example:myLibrary:versionX'){transitive=true}
. Я просто проверил, что это приводит к тому, что gradle читает библиотечный проект 1 pom и автоматически добавляет найденные там зависимости в Application Application.Если вы хотите использовать транзитивные зависимости, ваш проект библиотеки должен будет генерировать pom и публиковать его вместе с aar. См. fooobar.com/questions/45050/... для получения дополнительной информации о том, как я это работаю.
-
Вручную добавьте зависимость от Библиотечного проекта 2 в проект приложения - чтобы ваше приложение имело строку зависимости для обоих библиотек. В зависимости от конкретной ситуации это может быть или не быть приемлемым решением.