Today
-
Yesterday
-
Total
-
  • Git 라이브러리를 프로젝트 서브모듈로 추가하기
    안드로이드 개발

     

    안드로이드 개발을 하다보면 자주 사용하는 기능들을 개인 라이브러리로 따로 모아놓고 여러 프로젝트에 동일하게 사용하고 싶을 때가 있습니다.

     

    Git Submodule 을 사용하면 여러 프로젝트에서 동일한 Git 라이브러리를 사용하고, 변경사항도 서로 공유할 수 있습니다.

     

    다음과 같이 프로젝트와 라이브러리 레포지토리가 각각 존재할 때, mango-library 를 mango-app 에 서브모듈로 추가하는 방법을 알아보겠습니다. 

     

     프로젝트 레포지토리 : {username}/mango-app 

     라이브러리 레포지토리 : {username}/mango-library 

     


    1. 서브모듈 추가하기

    프로젝트 터미널에서 다음 명령어를 통해 mango-library 를 해당 프로젝트의 sub-module로 추가합니다.

    $ git submodule add https://github.com/{username}/mango-library.git

     

    서브모듈 추가가 완료되면 다음과 같이 라이브러리 폴더와 .gitmodules 파일이 추가됩니다. 

    (아직은 모듈이 정상적으로 추가되기 전이기 때문에 Android 가 아닌 Project 뷰에서만 확인됩니다.)

     

    안드로이드 스튜디오 오른쪽 하단의 Git Branch 창에도 mango-library repository 가 추가된 것을 확인할 수 있습니다. 

     

    2. Gradle 수정하기

    이제 내려받은 라이브러리 파일을 프로젝트에 모듈로 추가해야합니다. 

     

    settings.gradle 파일에 다음 내용을 추가합니다.

    include ':mango-library'

    app 레벨의 build.gradle 파일에 다음 내용을 추가합니다. 

    dependencies {
        implementation project(":mango-library") // mango-library 추가
        
        ...
    }

     

    3. Gradle Sync

    gradle sync 가 완료되면 Android 뷰에서 모듈이 추가된 것을 확인할 수 있습니다. 

     


    이제 라이브러리와 프로젝트를 동시에 개발하면서 버전관리는 따로 할 수 있습니다. 또한, 다른 프로젝트에서도 이와 같은 방법으로 서브모듈을 추가하면 라이브러리의 변경사항을 서로 공유 할 수 있습니다. 다만, 여러 프로젝트에서 동시에 수정이 일어나서 충돌이 날 것을 대비하여 프로젝트별로 별도의 브랜치를 생성하여 관리하면 더 좋을 것 같습니다.

     

     

     

     

    참고 블로그

     

    '안드로이드 개발' 카테고리의 다른 글

    리사이클러뷰 해부하기(2)  (0) 2021.03.06
    리사이클러뷰 해부하기(1)  (0) 2021.03.05

    댓글

Designed by black7375.