У меня есть образец проекта со следующей настройкой:
/root
+ Pure Java Lib
+ Android Test Lib
+ Android Test Project
Где « Тестовый проект » зависит от « Test Lib », а последний зависит от « Pure Java Lib ». Компиляция проекта и запуск этой настройки работают нормально.
Сейчас я подумываю импортировать мое предыдущее рабочее пространство Eclipse и работать со студией Android, проблема в том, что настройка проекта отличается, и я хотел бы сохранить ее в таком виде.
например, если использовать предыдущий пример:
/root
+ Android Test Lib
+ Android Test Project
/Some Other folder (another repository for example)
+ Pure Java Lib
Я пробовал много конфигураций, но не нашел способа ссылаться на проект, выходящий за рамки родительской папки (« корень » в данном примере).
На многих платформах / модулях вы можете использовать ".." для перемещения вверх по папкам, но у меня это не сработало, возможно, я использовал его неправильно.
Кто-нибудь знает, как этого можно достичь с помощью Gradle?
ОБНОВИТЬ
Я постараюсь быть более общим:
/C:/
/Project A
+ Module 1 - Pure Java
+ Module 2 - Android Test Lib
+ Module 3 - Android Test Project
/Project B
+ Module 1 - Pure Java
+ Module 2 - Pure Java
+ Module 3 - Pure Java
Я хотел бы использовать модуль 1 из проекта Б , в проекте A .
ОБНОВЛЕНИЕ: 09-03-19
Я увидел это сейчас и должен обновить ... спустя почти 6 лет, сегодня я стал мудрее и могу определенно сказать, что проблема заключалась в том, что я неправильно понимал концепцию «Источника истины».
Хотя наличие одной ссылки на библиотеку - это хорошо иметь концепцию ... и может показаться «Источником истины», НАСТОЯЩИМ «Источником истины» будет версия кода, используемого каждым проектом этой библиотеки, потому что у самой библиотеки есть версии ... многие версии и "Источник истины" относятся к проекту, который использует библиотеку.
Правильный способ - использовать то, что не нравится большинству разработчиков, а именно подмодули git, и да, дублирование источников в каждом проекте приводит к большей вероятности, что каждый проект использует другую версию кода.
Однако вам нужно будет стремиться к тому, чтобы все ваши проекты использовали самую последнюю и лучшую версию всех ваших библиотек ... что само по себе является проблемой
Причина, по которой это правильный способ разработки проекта с исходными кодами библиотеки, заключается в том, что он масштабируется ... у вас могут быть сотни проектов, каждый со своей собственной конфигурацией библиотеки.