-
APK란?
- 안드로이드 앱의 확장자로서 Android Application Package 의 줄임말이다. 앱을 설치하는 역할을 하며, ZIP 형식으로 압축되어 있다.
APK 파일 구조

- META-INF
- 인증 서명과 관련한 정보가 담겨있는 디렉터리
- assets
- 의미 그대로 앱 실행에 필요한 자원들이 저장되는 디렉터리.
- res 디렉터리와 중복되는 것 같지만 용량이 큰 파일 위주로 저장된다.
- res
- 앱 실행에 필요한 자원이 모여있는 디렉터리
- Drawable : 프로젝트에 활용될 이미지들
- Layout : 안드로이드 화면을 담당하는 xml들의 집함
- Values
- dimens.xml : 텍스트 크기, 도형 크기 등 크기에 관련된 설정 파일
- strings.xml : 문자열에 관련된 설정 파일
- styles.xml : 색상, 액션바 유무, 배경 색 등 화면 디자인 관련 설정을 정의res
- assets 디렉터리에 비해 용량이 작은 파일 위주로 저장된다.
- 앱 실행에 필요한 자원이 모여있는 디렉터리

- lib
- 라이브러리 파일들이 저장되는 디렉터리
- AndroidManifest.xml
- 어플리케이션을 구성하는 컴포넌트 및 패키지명, 버전과 같은 앱의 정보가 저장되는 파일이다.
- AndroidManifest.xml 의 주요 컴포넌트
- Activity : Activity는 일반적으로 하나의 뷰를 말하며, 해당 Activity에 대한 속성을 정의함
- Service : 백그라운드에서 실행되는 서비스
- Broadcast Receiver : 안드로이드 내부 이벤트 핸들링을 위한 컴포넌트 ex) 문자수신, 베터리 부족
- Content Provide : 어플리케이션간 데이터 공유를 위한 컴포넌트
- class.dex
- .class 파일을 달빅 바이트 코드로 변환시킨 소스 파일
- resources.arsc
- res의 정보가 기록되어 있다.
- 컴파일된 리소스(문자열, 스타일 등)가 존재
Reference
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ilikebigmac&logNo=221466806806
Android APK의 구성과 새로운 APP Bundle 방식
Android APK의 구성
medium.com
'모바일' 카테고리의 다른 글
안드로이드 아키텍처 (0) 2021.09.29