동작원리
안드로이드 앱 번들
안드로이드 앱은 4대 구성 요소들을 통합 관리하는 번들, 패키지 개념이다!
안드로이드 앱은 번들 개념이기에 사실 앱을 실행한다는 말은 맞지 않다
-
번들이란?
: 번들은 묶음이라는 뜻이다
-
안드로이드 앱 번들?
: 앱의 모든 컴파일된 코드 및 리소스를 포함하며 APK 생성 및 서명을 Google Play에 맡기는 게시 형식이다
-
APK(Android Application Package)
: Android SDK 도구는 모든 데이터 및 리소스 파일과 함께 코드를 컴파일하여 하나의 APK를 만든다
: Android 패키지는 접미사가 .apk인 아카이브 파일이다
: 한 개의 APK 파일에는 Android 앱의 모든 콘텐츠가 들어 있다
: Android로 구동하는 기기가 앱을 설치할 때 바로 이 파일을 사용한다
안드로이드 4대 구성요소
안드로이드 4대 구성요소란 안드로이드 앱의 필수적인 기본 구성 요소이다
각 구성 요소는 시스템이나 사용자가 앱에 들어올 수 있는 진입점이며, 다른 구성 요소에 종속되는 구성 요소도 있다!
- Activity
: 눈에 보이는 화면을 관리하는 실행 단위
- Service
: 화면을 가지지 않은 실행 단위(눈에 보이지 않는 실행 단위)
- Broadcast Receiver
: OS가 메시지를 받으면 실행되는 단위
: 시스템에서 발생하는 사건에 대해 처리가 필요한 경우
- Content Provider
: 저장된 데이터를 제공하기 위해 실행되는 실행 단위
프로젝트 구조
안드로이드의 프로젝트 구조는 다음과 같다

- AndroidManifest.xml
: 안드로이드 애플리케이션에 관련된 설정 파일
- java
: 개발자가 작성하는 소스 코드
- res
: 이미지, 사운드, 데이터 등 애플리케이션에서 필요한 리소스
안드로이드 앱 설치
- 제작된 앱은 apk 라는 파일로 압축되어 마켓에 등록된다
- apk 파일을 단말기에 다운로드하게 되면 자동으로 설치가 이루어진다
- 설치가 완료되면 안드로이드 OS는 AndroidManifest.xml 파일의 내용을 분석한다
- 여기에서 안드로이드 4대 구성요소 중 어떤 것들이 있는지 파악하여 이를 정리한다
안드로이드 앱 동작 순서
- 사용자가 애플리케이션 아이콘을 터치한다
- AndroidManifest.xml에 기록되어 있는 Activity들 중 "android.intent.action.MAIN" 이름으로 설정되어 있는 intent filter가 있는 Activity를 찾는다
- 찾은 activity에 name 에 설정되어 있는 클래스 이름을 찾는다
- 찾은 클래스의 객체를 생성하여 onCreate 메서드를 호출해준다.
- 이 때 setContentView 메서드에 관리할 화면을 지정하는데 res 폴더의 layout에 있는 xml 파일을 지정하게 된다
- 이를 통해 화면을 구성하고 단말기 화면에 나타나게 된다
📚 참고자료
윤재성 강사님 Kotlin based Android PPT 6강 동작원리
Android Docs : Android App Bundle 정보
Android Docs : 애플리케이션 기본 항목