app(모듈)
앱 소스 코드, 리소스 파일, 앱 수준 설정을 담을 수 있는 컨테이너를 제공합니다. manifests, java, res 새 프로젝트를 생성할 때 기본 모듈 이름은 "app"으로 설정됩니다. Android Studio는 Create New Module 창에서 다음과 같은 앱 모듈을 제공합니다.
Phone & Tablet app(모듈)
Android Wear app(모듈)
Android TV app(모듈)
Glass app(모듈)
Android Wear app(모듈)
Android TV app(모듈)
Glass app(모듈)
이러한 모듈은 각각 해당 앱 또는 기기 유형에 맞는 템플릿과 필수 파일을 제공합니다.
manifests
AndroidManifest.xml 파일하나만을 포함하고 있는 컨테이너로 Android 시스템이 앱의 코드를 실행하기 전에 알아야 하는 앱에 대한 필수 정보를 시스템에 알려줍니다.
java
기능을 구현할 코드들이 들어있는 클래스를 관리하는 컨테이너입니다. JUnit 테스트 코드, Java 소스 코드 파일을 포함하고 이들의 파일은 패키지 이름으로 구분합니다.
res
코드가 아닌 모든 리소스(UI, 디자인 리소스, 문자 리소스)를 담고있습니다.
이미지나 문자열과 같은 애플리케이션 리소스는 항상 코드에서 따로 빼내어 외부화해야 독립적으로 유지관리할 수 있습니다.
특정 기기 구성에 대한 대체 리소스도 제공해야 합니다. 이것은 특별하게 명명한 리소스 디렉터리에 그룹화하는 방법을 씁니다. Android는 런타임에 현재 화면을 감지하여 적절한 리소스를 사용합니다. 예를 들어 여러 가지 화면 크기의 기기에 따라 여러 가지 UI 레이아웃을 제공하거나 언어 설정을 감지하여 각기 다른 문자열을 제공 할 수 있습니다.
특정 기기 구성에 대한 대체 리소스도 제공해야 합니다. 이것은 특별하게 명명한 리소스 디렉터리에 그룹화하는 방법을 씁니다. Android는 런타임에 현재 화면을 감지하여 적절한 리소스를 사용합니다. 예를 들어 여러 가지 화면 크기의 기기에 따라 여러 가지 UI 레이아웃을 제공하거나 언어 설정을 감지하여 각기 다른 문자열을 제공 할 수 있습니다.
Gradle Script
애플리케이션 빌드에 사용하는 Gradle 툴을 편리하게 사용할 수 있도록 도와주는 스크립트컨테이너 입니다. Gradle wrapper는 적절한 Gradle 바이너리를 자동으로 다운로드 해 주므로, 별도로 Gradle을 설치하지 않아도 빌드를 진행할 수 있도록 도와 줍니다.