Android Developer Roadmap 2022 학습

(Applications Fundamentals) Android Package

Everyday Growing Engineer 2023. 4. 17. 12:42

Android Package

안드로이드에서 앱을 구성하는 기본 단위는 '안드로이드 패키지(Android Package)'입니다. 

 

안드로이드 패키지는 일종의 파일 형식으로, .apk 확장자를 가지며, 해당 앱의 3가지 파일이 포함됩니다.

   1) 코드

   2) 리소스

   3) 매니페스트 

 

각각의 패키지는 고유한 식별자를 가지고 있으며, 패키지 이름은 "com.example.app"와 같은 형태로 구성됩니다. 

  • 도메인 : com.example
  • 프로젝트 이름 : app
  • 기능별 세분화 : 
com.example.app.user
com.example.app.exchange

안드로이드 패키지는 사용자가 다운로드하여 설치하는 앱의 형태로 배포됩니다. 이는 일종의 도메인 네임을 기반으로 한 것으로, 패키지 이름이 충돌하지 않도록 보장합니다. 또한, 앱의 코드나 리소스 등을 수정하고 업데이트할 때도 패키지를 업데이트하여 배포할 수 있습니다.

APK와 AAB

APK는 이미 완성된 안드로이드 앱 파일이고, AAB는 APK를 완성해주는 요소를 담은 패키지다. 

 

APK는 "Android Application Package"의 약자로, 안드로이드 운영체제에서 실행 가능한 앱을 패키징하는 데 사용됩니다. APK 파일에는 앱의 코드, 리소스, 매니페스트 파일 등이 포함되어 있습니다. APK 파일은 구글 플레이 스토어나 다른 앱 스토어에서 다운로드하여 설치할 수 있습니다.

 

AAB는 "Android App Bundle"의 약자로, APK와 유사한 역할을 하지만 더욱 최적화된 파일 형식입니다. AAB 파일은 앱의 코드와 리소스를 포함하고 있지만, APK와 달리 모든 디바이스에 대한 모든 구성 요소가 포함되어 있지 않습니다. 대신, 필요한 구성 요소만 포함하여 APK를 동적으로 생성하는 방식으로 작동합니다. 이를 통해 APK의 크기를 줄이고 다운로드 및 설치 시간을 단축하는 것이 가능합니다.

 

기존에는 기기의 종류와 상관없이 똑같은 APK 파일을 설치하였습니다. 하지만 AAB 형식으로 배포될 경우 사용자의 기기에 따라 필요한 파일만 구성된 APK파일을 설치할 수 있습니다.

 

AAB의 장단점 : 

AAB의 장점 : 앱의 크기가 줄어듬.

  • AAB로 배포하면 앱 크기가 15% 줄어듭니다. 

AAB의 단점 : 보안의 우려가 있다. 

  • 모든 안드로이드 앱에는 개발자 서명 파일이 들어간다. 다른 사람이 변형해 배표하려고 해도, 개발자 서명을 모른다면 공식앱이 아님을 확인 가능. 하지만 AAB 파일은 완성된 버전이 아니기 때문에 구글 플래이가 대신 서명을 하게 된다. 이런 부분에서 보안의 문제점이 있을수 있다고 할수 있다.