배포 파일 형식
APK (Android Application Package)
- 전통적인 배포 파일 형식으로 컴파일된 코드와 리소스를 묶어서 키로 서명한 것
- Google Play에서 사용자가 다운로드하는 APK는 100MB 이하여야 한다.
- 앱을 구성하는 코드와 파일을 저장하기에는 충분하지만, 고화질 그래픽이나 미디어 파일 등을 포함할 경우 용량 문제가 생긴다.
- 이런 앱을 실행할 때 개발자가 직접 추가 리소스를 호스팅하고 다운로드해야 한다.
AAB (Android App Bundle)
- 2018년 구글 I/O 에서 발표한 새로운 형식의 앱 배포 파일
- APK의 용량 문제를 해결하기 위해 Google Play를 비롯한 기타 앱 스토어와 Android Studio, Gradle, Unity 등의 빌드 도구에서 지원하는 Android 용 배포 형식이다.
- Google Play 에 올리면 사용자 기기에 맞게 최적화된 APK를 대신 만들어 준다.
- 설치하는 기기에 필요한 파일만 포함하기 때문에 앱의 크기가 줄어든다.
- Ex) 다국어를 지원하는 앱은 언어별로 리소스를 포함하지만 한국어로 지정된 기기에서 설치한다면 나머지 언어 리소스는 필요 없게 된다.
앱 서명
- Android 배포 파일을 만들려면 Key 를 만들어 앱에 서명해야 한다.
- 앱에 서명하는 방법은 2가지가 있다.
1. 서명 키를 개발자가 직접 만들어 관리하는 방법
- 출시용으로 앱을 빌드할 때 개발자가 만든 키로 앱을 서명하고, Google Play에 등록하여 사용자에게 전달한다.
개발자가 서명 키를 직접 관리할 경우 발생할 수 있는 문제점
- 키를 분실하거나 도용당하는 경우, 개발자가 만든 서명 키 1개로 앱을 관리하기 때문에 키로 서명할 수 없어 업데이트가 불가능해진다.
- 그래서 새로운 키를 만들어 새로운 앱으로 재등록해야한다.
2. Google Play에서 관리하는 방법
- 위 문제점을 해결하기 위해 Google에서 Play 앱 서명 서비스를 만들었다.
- 키를 2개로 구분한다.
- 업로드 키 : 기존의 서명 키로 개발자가 키를 만들어 앱을 서명하지만 Google Play에 앱을 등록할 때만 사용한다.
- 앱 서명 키 : Google Play가 만드는 키로 업로드된 앱을 다시 자체적으로 만든 키로 서명해서 사용자에 전달한다. 이 키는 Google에거 관리하며 개발자가 직접 제어할 수 없다.
'안드로이드 > Android' 카테고리의 다른 글
[Android] Activity (0) | 2024.08.09 |
---|---|
[Android] App Manifest (0) | 2024.08.08 |
[Android] Gradle (0) | 2024.08.06 |