2013-09-23 3 views
1

Gradle을 문서 (뿐만 아니라 많은 SO 내가 참고 자료 참조)에서 사용 제안 :안드로이드 Gradle을 : 라이브러리 프로젝트를 생성하고 프로젝트

"다중 프로젝트 설정은 일반적으로 모든 프로젝트를함으로써 작동 주어진 서브 프로젝트의 폴더입니다. "

AndroidDev /* this is my root dir where I keep all my projects and libraries */ 
    | 
    |- MyProject1 
    |  |- MyProject1Module 
    | 
    |- MyProject2 
    |  |- MyProject2Module 
    | 
    |- MyLibrary 
     |- MyLibraryModule 

지금, 나는 MyLibraryModule을 사용하고 MyProject1뿐만 아니라 MyProject2에 대한 종속성을 추가 할 : 내 상황에서

, 나는 다음과 같은 폴더 구조를 가지고있다. MyProject1과 MyProject2를 별도의 Android Studio 창에서 열고 라이브러리 종속성을 사용하여 컴파일 할 수 있기를 원합니다. 그들은 공통점이 없습니다.

어떻게하면됩니까? 나는 이것을 이해하는 데 도움이되는 훌륭한 자료를 찾을 수 없다.

편집 : 명확하게 말하면, 나는 이것을 새로운 gradle 빌드 시스템과 함께 사용하고 싶다. 따라서 모듈 가져 오기 및 모듈 종속성 구성에 대한 모든 정보가 도움이 될 것입니다. 감사. 내가 제대로 질문을 이해한다면

답변

0

, 당신이해야 할 유일한 것은입니다 :

일식에 MyLibraryModule 프로젝트를 선택 -> 마우스 오른쪽 버튼을 클릭 -> 속성 - 당신이 체크 박스를 볼 수 있습니다 여기에> 안드로이드 '인가 라이브러리 '를 사용하도록 설정하고 적용하십시오.

이제 MyProject1이있는 Workspace1에서 기존 Android 응용 프로그램으로 MyLibraryModule을 가져옵니다. MyProject1 -> Properties -> Android -> Add를 마우스 오른쪽 버튼으로 클릭하십시오. 지금 열려있는 대화 상자에서 MyLibraryModule을 볼 수 있습니다. 그것을 추가하고 적용하고 확인하십시오.

정확한 동일한 프로세스가 MyProject2와 WORKSPACE2 간다 ...

이 당신은 지금 당신이 필요없이 MyLibraryModule의 코드를 변경 할 수 있습니다, libs와 폴더에 항아리를 추가하는 것처럼 효과적으로 같은 일 두 프로젝트는 서로 의존하지 않고 MyLibraryModule에 의존합니다.

+0

저는 IntelliJ 프로젝트 구조에 대해 알고 있고 당신이 옳은 것처럼 말했습니다. 제 질문은 새로운 gradle 빌드 시스템에서 사용하는 것입니다. build.gradle 파일 등에서 종속성 구성 ... – advantej

+0

아, 맞습니다. 나는 gradle (깔끔한 소리)와 아무 경험이 있습니다. Google 검색을 통해 http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup으로 이동했으며 필자가 이해 한대로 일반 Android 라이브러리 (MyLibraryModule as 내 대답에 정의 된) 너무 purpos 작동해야합니다. – cYrixmorten

0

Android Studio를 사용하지 않고 Android 개발을 전혀하지 않았지만이 문제는 Gradle 지식 만 필요하므로 해결하겠습니다.

처음에 비슷한 질문을 한 후 Having difficulty setting up Gradle multiproject build for existing repository layout을 보시기 바랍니다. Peter Niederwieser의 대답은 내가 Gradle multiproject 지원에 대해 가지고있는 많은 오해를 바로 잡았습니다.

당신은 당신의 경우 어느 오히려 같이 표시됩니다 구조의 루트 디렉토리에 settings.gradle이 필요합니다

:

include 'MyProject1', 'MyProject2', 'MyLibrary' 

곰을 Gradle을가 설정 개체를 구성하려면이 파일을 사용하여 마음에 .

나는 희망
dependencies { 
    compile(
     ':MyLibrary' 
    ) 
} 

이 질문을 답 http://www.gradle.org/docs/current/dsl/org.gradle.api.initialization.Settings.html 지금

이 같은 다른 프로젝트의 각각에 MyLibrary에 대한 종속성을 선언 할 수 있습니다 : 당신은 여기에 대한 DSL을 보면 무엇이 가능한지 볼 수 있습니다 내가 오해 한 경우 다시 게시 해 주시기 바랍니다.

+0

이것은 거의 정확하지만 종속성은 실제로 다음과 같아야합니다. compile ': MyLibrary : MyLibraryModule' – Krylez

관련 문제