여러 프로젝트를 빌드하기 위해 gradle 파일을 구성하는 Google의 Gradle 플러그인 권장 방법에는 몇 가지 단점이 있습니다. 하나의 라이브러리 프로젝트에 따라 여러 프로젝트가있는 경우이 게시물에서는 Google의 권장 구성, 단점을 간략하게 설명하고 다른 방법으로 gradle 파일을 구성하는 방법을 권장합니다 Android Studio에서 다중 프로젝트 설정 지원 :
안드로이드 스튜디오를위한 대체 멀티 프로젝트 설정
다른 방법 :
Android Studio에서 여러 프로젝트를 관리하는 더 좋은 방법이 있습니다. 비결은 라이브러리에 대해 별도의 Android Studio 프로젝트를 만들고 앱이 의존하는 라이브러리 모듈이 라이브러리의 프로젝트 디렉토리에 있음을 gradle에 알리는 것입니다. 위에서 설명한 프로젝트 구조와 함께이 방법을 사용하려면 다음을 수행하십시오.
- StickyListHeaders 라이브러리를위한 Android Studio 프로젝트 작성
- App2 용 Android Studio 프로젝트 생성
- App1 용 Android Studio 프로젝트 생성
- StickyListHeaders 프로젝트에서 모듈을 빌드하도록 App1 및 App2를 구성하십시오.
네 번째 단계는 어려운 부분이므로 자세히 설명 할 유일한 단계입니다. settings.gradle 파일에 프로젝트 문을 추가하고 해당 프로젝트 문에 의해 반환 된 ProjectDescriptor 객체에서 projectDir 속성을 설정하여 프로젝트 디렉토리 외부에있는 모듈을 참조 할 수 있습니다.
하나의 코드를 넣어야합니다 settings.gradle
:
include ':library1'
project(':library1').projectDir = new File('../StickyListHeader/library1')
이 작업을 올바르게 수행했다면 프로젝트가 참조하는 모듈이 프로젝트 탐색기 외부에 표시되어 있어도 프로젝트에서 참조하는 모듈이 프로젝트 탐색기에 표시됩니다.
이를 통해 라이브러리 코드와 앱 코드를 동시에 작업 할 수 있습니다. 이 방법으로 외부에서 모듈을 참조 할 때 버전 제어 통합도 제대로 작동합니다. 앱 코드를 커밋하고 푸시하는 것처럼 수정 사항을 라이브러리 코드에 커밋하고 푸시 할 수 있습니다.
여러 프로젝트를 설정하는이 방법은 Google의 권장 구성을 괴롭히는 어려움을 피합니다. 우리는 프로젝트 디렉토리 외부에있는 모듈을 참조하기 때문에 의존하는 모든 앱에 대해 라이브러리 모듈을 추가로 복사 할 필요가 없으며 어떤 종류의 git submodule 넌센스없이 라이브러리 버전을 지정할 수 있습니다.
불행히도, 여러 프로젝트를 설정하는 다른 방법은 찾기가 매우 어렵습니다. 분명히 Google 가이드를 보면 알 수없는 것이 아니며이 시점에서 Android Studio의 UI를 사용하여 이러한 방식으로 프로젝트를 구성 할 수있는 방법이 없습니다.