본문 바로가기

개발/Android

[Android] 안드로이드 스튜디오의 폴더 구성

반응형

 

프로젝트

 

안드로이드 스튜디오의 프로젝트는 다음과 같이 구성되어 있습니다.

 

프로젝트 안에는 'bundle.gradle'과 'settings.gradle' 등의 설정을 기술하는 빌드 스크립트와 실제 코드가 들어 있는 모듈이 있습니다. 

 

[build.gradle(프로젝트 빌드 설정 파일)]

 

build.gradle은 그레이들이라는 빌드 시스템의 설정 파일입니다. 여기에 프로젝트의 전체 설정이 기술됩니다. 모듈 안에도 build.gradle 파일이 있는데, 모듈 안의 build.gradle에는 모듈에 대한 설정이 기술됩니다. 구체적으로는 Android Gradle Plugin의 버전과 Maven 리포지터리 설정 등이 여기에 해당합니다.

 

[settings.gradle(모듈설정파일)]

 

setting.gradle에서는 어느 디렉터리가 모듈인지 정의합니다.

 

[gradlew(그레이들의 래퍼 파일)]

 

GradleWrapper라는 메커니즘이 있어서 그레이들의 버전을 지정해서 빌드할 수 있습니다. 프로젝트 팀이 같은 버전의 그레이들을 이용하고 싶은 경우에 사용할 수 있습니다.

 

 

 

모듈

 

프로젝트 안엔는 모듈 단위의 디렉터리가 있고, 기본적으로 app이라는 이름의 모듈이들어 있습니다.

 

[File] -> [New] ->[New Module]을 통해 새로운 모듈을 작성할 수 있습니다. 보통은 1개의 모듈로 앱을 개발하지만 라이브러리 모듈을 만들고 여러 앱에서 공유할 수 있습니다. 모듈 구성은 위의 사진처럼 돼 있습니다. 모듈은 얼마든지 만들 수 있고 각각 의존관계를 기술할 수 있습니다.

 

[build.gradle(모듈의 빌드 설정 파일)]

 

그레이들의 모듈 설정이 기술된 파일입니다. 이 파일이 설정 파일 중에서 편집할 기회가 가장 많습니다. 여기서 앱의 버전 등 다양한 설정을 할 수 있습니다.

 

[build 디렉터리]

 

build 디렉터리에는 빌드 시 생성되는 중간 생성물과 최종 산출물이 저장됩니다. 안드로이드 애플리케이션 파일로서 최종적으로 apk 파일이 만들어지는데, 이 파일은 build 디렉터리 아래에 저장됩니다.

 

[src 디렉터리]

 

src 디렉터리에는 소스코드나 이미지 등 리소스 파일이 들어갑니다. 기본적으로 'main'과 'androidTest', 'test' 디렉터리가 만들어집니다. 기본적으로 'main' 디렉터리 안에서 파일을 추가하고 편집하면서 개발을 진행합니다. 'androidTest'와 'test' 디렉터리 안에 테스트 코드가 들어갑니다.

 

[main 디렉터리]

 

기본으로 빌드 대상이 되는 디렉터리입니다. 이 안의 내용을 편집해서 개발하는 경우가 가장 많습니다.

 

[java 디렉터리]

 

안드로이드 앱의 소스코드인 자바 파일을 이곳에 기술합니다.

 

[res 디렉터리]

 

안드로이드 앱에서 사용되는 이미지와 문자열 등의 리소스를 배치하는 곳입니다. res 디렉터리에 들어가는 대표적인 것으로 이미지 파일을 저장하는 drawable, 레이아웃의 XML 파일을 저장하는 layout, 문자열 등의 파일을 저장하는 values라는 디렉터리가 있습니다. 안드로이드이의 리소스 디렉터리에는 Alternative Resource라는 것이 있어서 단말기 설정 상태에 특화된 리소스를 배치할 수 있습니다. 이를 이용해 다국어를 지원하거나 태블릿 화면을 지원하는 등 화면 밀도(dpi)별로 이미지를 준비할 수 있습니다.

 

[AndoridManifest.xml]

 

안드로이드 앱 설정을 기술하는 파일입니다. Activity, Service 등과 같은 안드로이드 앱에서 사용되는 클래스 선언과 퍼미션 설정(사용자에게 어떤 권한을 요구할지) 등이 기술돼 있습니다.

 

 

 

 

- [참고자료] 안드로이드 개발 레벨업 교과서

 

 

 

반응형