9

Eclipse에서 AndroidStudio로 프로젝트를 이전하려고합니다. 이 프로젝트에서 lib로 사용되는 프로젝트가 있습니다. 이 lib는 PullToRefresh라고합니다.Android Studio 프로젝트에 라이브러리 모듈 종속성을 포함시키는 방법은 무엇입니까?

이 프로젝트를 AS로 가져 오는 데 여러 가지 방법을 시도했지만 anyting은 작동합니다. 내 프로젝트에서

나는이 폴더 구조가 다음 build.gradle에서

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

을,이하려고 노력했습니다

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

을하지만이 오류 메시지를 받고 있어요 :

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

답변

31

안드로이드 스튜디오 프로젝트 모듈 개념, 모든 작동 귀하의 모듈은 루트 디렉토리 (귀하의 프로젝트 디렉토리) 내에 있어야합니다. 하나의 모듈은 다른 모듈/모듈에 의존 할 수 있습니다. 라이브러리는 동일한 프로젝트에서 다른 모듈로 간주되며 기본 모듈 (귀하의 경우 앱)은 해당 모듈에 따라 다릅니다. 귀하의 build.gradle 잘 보이는 당신의 settings.gradle

include ':libs:PullToRefresh' 

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

이 줄을 포함 :

프로젝트 구조를 약간 변경

. jar 의존성을 모듈 의존성이 아닌 lib를 사용하기 때문에 libs에서 library로 디렉토리 이름을 변경하는 것이 좋습니다.

및 주요 모듈의 build.gradle 파일이 보관 :

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

감사합니다. 그것은 작동합니다! = D 팁을 가져 주셔서 감사합니다. – androidevil

+2

Settings.gradle은 프로젝트 루트 바로 아래에있는 디렉토리 레벨 이상이어야합니다. 그것은 작동한다면 그것은 나에게 약간의 수수께끼이다. –

+0

@ScottBarta 나중에 :) 나는 그림에 가난하다고 생각합니다. 사실 그것은 안드로이드 스튜디오에서 이렇게 이렇게 이렇게 만들었다, 나는 그것을 다시 그것의 틀린 검사했다 보인다. 나는 당신이 게시 한 후에 말한 것과 같은 것을 느꼈다. 오해의 소지가 있다면 약간의 수정을하겠습니다. – pyus13

4

사용 도움말 -> 유형 "수입 모듈"다음 마법시 나타납니다!

관련 문제