앱을 만들었다면 스토어에 등록해 사용자가 이용할 수 있도록 배포를 해야한다. 그런데 우리가 Android Studio를 통해 앱을 완성시켰을 때 프로젝트 안의 여러 파일들을 보낼 수는 없다. 이를 하나로 묶어 배포해야 한다.
안드로이드 앱의 배포 파일은 2가지 형식이 있다. APK와 AAB이다. APK는 전통적인 배포 파일 형식으로 컴파일된 코드와 리소스를 묶어서 키로 서명한 것이다. AAB는 2018년 구글 I/O에서 발표한 새로운 형식의 앱 배포 파일이다.
Google Play에서 사용자가 다운로드하는 APK는 100MB 이하여야 한다. 일반적으로는 앱을 구성하는 코드와 파일을 저장하기에 충분하지만 고화질 그래픽이나 미디어 파일 등을 포함할 경우 용량 문제가 생긴다. 이런 앱을 실행할 때 개발자가 직접 추가 리소스를 호스팅하고 다운로드해야 했다.
AAB는 APK의 용량 문제를 해결하기 위해 등장한 Google Play를 비롯한 기타 앱 스토어와 Android Studio, Gradle, Unity 등의 빌드 도구에서 지원하는 Android용 배포 형식이다.
Android 배포 파일을 만들려면 Key를 만들어 앱에 서명해야 한다. 앱 서명 방법은 2가지가 있다.
1. 서명 키를 개발자가 직접 만들어 관리
2. Google Play에서 관리
출시용으로 앱을 빌드할 때 개발자가 만든 키로 앱을 서명하고 이를 Google Play에 등록하여 사용자에게 전달한다. (개발자가 만든 서명 키 1개로 앱을 관리)
만약 개발자기 키를 분실하거나 도용당하는 경우 대처할 방법이 없다.
위의 문제점을 해결하고자 구글에서 Play 앱 서명 서비스를 만들었다.
키를 2개로 구분한다.