2014-01-16 125 views
9

我正在将一个项目从Eclipse迁移到AndroidStudio。我在这个项目中有一个用作lib的项目。这个库被称为PullToRefresh。如何在Android Studio项目中包含库模块依赖项?

我已经尝试了很多方法来导入这个项目到AS,但任何我尝试的作品。

在我的项目我有这样的文件夹结构:

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' 

回答

31

Android的工作室工作在项目模块概念,所有您的模块应位于根目录(您的项目目录)中。一个模块可以依赖于其他模块/模块。您的库在同一个项目下被视为不同的模块,您的主模块(您的案例中的应用)依赖于它们。

更改您的项目结构有点:

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改为library,因为你的jar依赖项使用libs而不是模块依赖项。

,并保持这在主模块的build.gradle文件:

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

谢谢。有用! = D 并感谢您的提示。 – androidevil

+2

Settings.gradle应该是一个更高的目录级别,直接在项目根目录下。虽然如果它的工作,那么这对我来说有点神秘。 –

+0

@ScottBarta ya :)我认为我在绘画方面很差。其实它在Android工作室看起来像这样,所以我这样做了,我再次检查它的错误。我感觉和你在发帖后说的一样。如果它有误导性,请稍作修改。 – pyus13

4

使用说明 - >键入“导入模块”,然后威泽德才会出现!

相关问题