ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Android] Android Module
    안드로이드 2022. 5. 23. 00:26
    728x90
    반응형
    반응형

    모듈이란?🤷🏻‍♂️

    모듈은 소스 파일 및 빌드 설정으로 구성된 모음이며, 이를 통해 프로젝트를 별개의 기능 단위로 분할할 수 있습니다. 프로젝트에는 하나 이상의 모듈이 포함될 수 있으며, 하나의 모듈을 종속 항목으로 사용할 수 있습니다.

    모듈을 추가하는 방법➕

    File > New > New Module 을 통해 추가할 수 있습니다.

     

    Module vs Library

    Module과 Library 모두 Resource 파일과 Class 파일 등이 혼합된 모듈입니다.

    • Module : 전체의 어플리케이션 없이 부분적으로 디버깅할 수 있고 테스트할 수 있는 작은 부분이라고 할 수 있습니다.
    • Library : 어플리케이션의 기능 확장을 위해 이전에 컴파일된 소스 코드들의 집합입니다.

     

    모듈의 종류🤔

    • application : 안드로이드 프로젝트를 만들 때 기본으로 생성되는 app 모듈은 Application 모듈입니다. 빌드의 결과로 APK 파일을 생성합니다. 앱을 실행하기 위해서는 Application 모듈이 반드시 필요합니다.
    • Android Library : 안드로이드 프로젝트에서 지원되는 모든 파일 형식을 포함할 수 있습니다. 다른 Application 모듈의 종속 항목으로 추가할 수 있습니다. 빌드의 결과로는 AAR 파일이 생성됩니다.
    • Java or Kotlin Library : 이름 그대로 순수한 Java 혹은 Kotlin으로만 이루어진 모듈입니다. 안드로이드 프레임워크로부터 독립적인 기능을 구현할 때 사용합니다. 빌드의 결과로는 JAR 파일이 생성됩니다.
      • JAR 파일 : 여러개의 자바 클래스 파일과 클래스들이 이용하는 관련 리소스 및 메타데이터를 하나의 파일로 모아서 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷.

    멀티 모듈 프로젝트란?🔍

    멀티모듈 프로젝트란 이름 그대로 여러 개의 모듈이 모여서 동작하는 프로젝트를 뜻합니다. 보통 특정 기능을 하나의 모듈로 묶어서 모듈화를 진행합니다. 데이터베이스에 접근하는 DB 모듈, View와 ViewModel을 포함하는 Presentation 모듈이 대표적입니다.

     

    멀티 모듈 프로젝트 특징🚀

    • 의존성이 적은 코드 작성
    • 빌드 속도가 단축됨 : 빌드를 할 때 변경된 모듈만 빌드하므로 빌드 시간이 감소합니다. 하지만 모듈 간 종속성이 복잡해지고 모듈의 수정이 많다면 빌드 시간이 증가할 수 있습니다. 또한 Dagger 같은 AnnotationProcessor를 사용할 때도 빌드 시간이 증가합니다.
    • 코드의 재사용성이 높아짐
    • 모듈 단위의 테스트가 용이함

     

    출처👍🏻
    https://footcode.postype.com/post/3673100
    728x90
    반응형

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

    [Android] WebView Bridge Thread 에러  (0) 2022.07.26
    [Android] Clean Architecture란  (0) 2022.05.30
    [Android] Repository Pattern  (0) 2022.05.07
    [Android] DP vs SP  (0) 2022.05.07
    [Android] Timber로 Debug 상태에서 로그 찍어내기  (0) 2022.04.30

    댓글

Designed by ZibroTistory.