Как включить зависимость библиотечного модуля в проекте Android Studio?

Я переношу проект из Eclipse в AndroidStudio. У меня есть проект, который используется как lib в этом проекте. Этот lib называется PullToRefresh.

Я пробовал много способов импортировать этот проект в AS, но anyting я пытаюсь работать.

В моем проекте у меня есть эта структура папок:

Project Root
+-- app
|   +-- builds
|   +-- libs
|   |   +-- PullToRefresh (my lib project)
|   +-- src
|   |   +-- main (java code and resources)

В build.gradle я попытался сделать это:

dependencies {
    compile project(":libs:PullToRefresh")
}

Но я получаю это сообщение об ошибке:

Gradle 'my_project' project refresh failed: Project with path ':libs:PullToRefresh'
could not be found in project ':app'

Ответ 1

Android Studio работает над концепцией project-modules. Все ваши модули должны находиться в корневом каталоге (ваш каталог проектов). Один модуль может зависеть от других модулей/модулей. Ваши библиотеки рассматриваются как разные модули в рамках одного проекта, и ваш основной модуль (приложение в вашем случае) зависит от них.

Немного измените структуру проекта:

Project Root
+-- libs
    +-- PullToRefresh (my lib project)
+-- app
|   +-- builds
|   +-- src
|   |   +-- main (java code and resources)
    +-- .....
+--settings.gradle

Включите эту строку в settings.gradle

include ':libs:PullToRefresh'

Ваш build.gradle выглядит отлично. Я предлагаю вам изменить имя своего каталога из библиотеки libs в библиотеку, потому что используйте libs для вашей jar-зависимости, а не для зависимостей модулей.

и сохраните это в файле основного файла build.gradle:

dependencies {
    compile project(":libs:PullToRefresh")
}

Ответ 2

С помощью справки → введите "модуль импорта", а затем появится wizzard!