2014-11-26 5 views
1

Gradle에서 종속성으로 내 사용자 지정 라이브러리를 선언하려고합니다. 나는 '프로젝트 A'가 의존적이며 '프로젝트 B'를 컴파일해야한다고 선언해야합니다.Android Studio : Declaring Gradle Dependencies

(프로젝트 B가 포함에 MyLibrary를) 프로젝트 A의 'settings.gradle'파일 :

include ':app', ':mylibrary' 

project(':mylibrary').projectDir = new File(settingsDir, '../mylibrary/lib') 

내가 'build.gradle가'했다 있는지 확인하십시오 것 :

다음과 같을 것
compile project(':mylibrary') 

이전에 '~/AndroidStudioProjects'(내 Mac에서 개발 중)의 Android Studio 프로젝트는 이전에 ALL이었습니다. 그러나, 나는 "조직"내 파일 구조 중 일부를 수행했습니다. 'Project B'(예 : 'mylibrary')의 클래스/메소드를 사용하고 의존하는 '프로젝트 A'는 더 이상 같은 디렉토리, 기본 디렉토리, 루트 디렉토리에 있지 않습니다 (이전 ~/AndroidStudioProjects, 이제는 다른 디렉토리에 있습니다) .

외부 프로젝트 인 Gradle에서 프로젝트 위치를 어떻게 선언합니까?

답변

0

수 없습니다. Gradle은 다중 프로젝트 빌드에 two methods to include 개의 프로젝트를 제공합니다. 이들은

이 프로젝트는, 일반적인 루트 디렉토리가 다음과 같은 것으로 기대 포함 (projectPaths)

  • includeFlat (projectNames)를 포함하고 당신은 루트 디렉토리 settings.gradle

    에서이 명령을 사용하여
    ProjectMain 
        ProjectA 
        ProjectB 
    

    includeFlat는 프로젝트가 동일한 디렉토리에 있지만 아이디 디렉토리의 settings.gradle 중 하나에서이 명령을 사용할 것으로 예상합니다. Good example here. 당신이 디렉토리에 대한 몇 가지 조치를 한 경우

    ProjectMain 
    ProjectA 
    ProjectB 
    

    , 최선의 선택 당신은 symbolic link 접근 방식을 사용하는 데 필요한 권한입니다.

  • +0

    라이브러리를 포함하여 적절한 방법은 무엇입니까? 이전 방법을 사용하면 라이브러리를 변경할 수 있었으며 라이브러리를 사용하는 모든 프로젝트에 반영되었습니다. 나는 컴파일하고 다시 컴파일 할 필요가 없으며 매번 라이브러리를 별도의 .jar 파일로 포함시키고 싶지 않다. – user1234

    +0

    @ user1234는 라이브러리 프로젝트를 주 프로젝트의 심볼릭 링크로 포함시키는 것을 의미합니다. –