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')
Другие вопросы по тегам