Gradle включает библиотеку из другого проекта
У меня есть этот проект настройки (в Android AIDE):
|---Project1
| |---App
| |---Lib
|
|---Project2
|---App
Я хочу добавить проект 1 Lib в качестве зависимости (или связанный источник, потому что мне нужен только один класс из библиотеки) для Project2.
Project2 settings.gradle:
include ':Lib'
project(':Lib').projectDir = new File(settingsDir, '../Project1/Lib')
Project2 build.gradle:
compile project(':Lib')
Я получаю следующую ошибку:
Project dependency 'Lib' not found.
Что-то не так с путем к папке? Я не нашел хорошего решения этой проблемы, и я не очень знаком с Gradle.
Если бы я вместо этого связал исходную папку библиотеки с Project2, я попытался добавить следующие строки в build.gradle (в разделе android):
sourceSets {
main.java.srcDirs += '/../Project1/Lib/src/main/'
}
Я мог получить доступ к источнику, если бы использовал полный путь до папки с файлом класса, но с проблемой, что, когда я создал экземпляр класса из Lib в Project2, он дал мне ошибку, что класс не был найден в пакете.
Должны ли оба проекта иметь одинаковые имена пакетов? Каково было бы лучшее решение для управления этим, не имея Библиотеки в качестве отдельной библиотеки?
1 ответ
Скопируйте папку Lib в Project 2... В модуле приложения Project 2 добавьте это в файл сборки gradle -
compile project(':Lib')