[Android-Studio] 안드로이드 프로젝트 구조 (1)

1. Android Project Files

Android Studio project files and settings provide project-wide settings that apply across all modules in the project.


 

android_project_structure

  • .idea
    Directory for IntelliJ IDEA settings.
  • app
    Application module directories and files.
  • build
    This directory stores the build output for all project modules.
  • gradle
    Contains the gradler-wrapper files.
  • .gitignore
    Specifies the untracked files that Git should ignore.
  • build.gradle : 빌드 스크립트 파일로, 보통 여기에는 프로젝트 내 모듈들의 빌드 진행시 공통으로 적용해야 하는 설정들을 적어준다.
    Customizable properties for the build system.
    Edit the dafault build settings used by the apllication modules and also set the location of your keystore and key alias[파일. 인터넷 주소 등에 쓰는 가명] so that the build tools can sign your application when building in release mode.
    This file is integral to the project, so maintain it in a source revision control system
  • gradle.properties
    Project-wide(?) Gradle settings.
  • gradlew / gradlew.bat : Gralde wrapper[빌드에서 사용하는 Gralde 툴을 편리하게 사용할 수 있도록 도와주는 일종의 스크립트. 적절한 Gradle 바이너리를 자동으로 다운로드 해주므로, 별도로 Gradle을 설치하지 않아도 빌드를 진행할 수 있도록 해준다.]를 통해 빌드를 진행하기 위한 스크립트이다.
    Gradle startup script for Unix / Windows.
  • local.properties : 빌드를 진행할 때 필요한 환경변수 정보를 저장한다. 안드로이드 SDK의 경로가 여기에 저장된다.
    Customizable computer-specific properties for the build system, such as the path of the SDK installation. Because the content of the file is specific to the local installation of the SDK, the local.properties should not be maintained in a source revision control system.(?)
  • .iml : 안드로이드에서 사용하는 프로젝트 설정 파일이다.
    Module file created by the IntelliJ IDEA to store module info
  • settings.gradle : 빌드와 관련된 환경설정 및 같이 빌드되어야 할 하위 모듈들의 정보를 포함 한다.
    Specifies the sub-projects to build

2. Android Application Modules

Android Application Modules are the modules[어플리케이션이나 라이브러리를 구성하는 최소 단위. 독립적으로 존재할 수 없고, 항상 프로젝트 내에 포함되어야 한다.] that eventually get built into the .apk files based on your build settings. They contain things such as application source code and resource files. Most code and resource files are generated for you by default, while others should be created if required.


The following directories and files comprise an Android apllication module :

android_project_structure2.png

  • build : 빌드 과정에서 생성된 파일(R.java 등) 및 최종 산출물(*.apk) 저장.
  • src : 소스 및 리소스 파일 저장.
    ***main[왜 필요할까 ?]
  • src > main> java
  • src > main> res
    android_project_structure3
  • src > main> AndroidManifest.xml
    This file describes the nature of the application and each of its components.
  • build.gradle : 모듈의 빌드 방법이 정의된 빌드 스크립트. 빌드에 사용할 SDK 버전, 애플리케이션 버전, 사용하는 라이브러리 등 다양한 항목 설정이 가능.
    Customizable properties for the build system.
  • .iml : 안드로이드 스튜디오에서 사용하는 모듈 설정 정보이다.