플레이스토어 안드로이드 앱 배포 APK->AAB

Dahee Ahn
roubit.me
Published in
3 min readMay 24, 2022
  1. 왜 APK에서 AAB로 바꿔야하는 것인가?
  • APK는 이미 완성된 안드로이드 앱 파일이고, AAB(Android App Bundle)는 APK를 완성해주는 요소를 담은 패키지다.
  • 즉, AAB 패키지를 올려놓으면 스토어가 사용자 기기 맞춤 APK를 새로 만들어주는 것!
  • AAB를 사용하면 앱의 크기도 줄어든다.
  • 21년 8월 이후에 출시를 하는 앱은 무조건 AAB로 배포해야 함. (이전에 배포한 앱은 APK도 가능하다.)
  • 21년 8월 이전에 출시한 루빗은 APK 배포 방식을 고집하고 있었으나… 앱 용량이 커져버리는 바람에 AAB로 배포를 할 수 밖에 없었다. (APK 파일 크기를 100MB로 줄이거나 APK 확장 파일을 사용해야 합니다. <- 플레이스토어 심사제출을 위해 APK 업로드할 때 이렇게 문구가 떴는데, APK 용량 커져버린 김에 AAB로 배포방식 바꿔본 것.)
  • 단점: 개발자의 컨트롤 범위에서 벗어나 플레이스토어가 최종으로 배포를 하기 때문에 보안 등의 우려가 있다.

2. 그래서 어떻게 하는거지!

./gradlew app:assembleRelease // APK 파일 추출
./gradlew bundleRelease // AAB 파일 추출

추출된 AAB 파일로 플레이콘솔에서 심사제출하자!

또한 심사제출된 파일을 Firebase의 App Tester에 올려 팀원들이 테스트할 수 있게 하는데, 업로드 후 이러한 문구가 떴다.

App Bundle 업로드가 테스트 인증서로 다시 서명되므로 API 제공업체에 이 인증서를 등록해야 합니다.

인증서 보기를 클릭하면 아래와 같이 디지털 지문 리스트가 보인다.

  • 새로 생긴 이 테스트 인증서 가지고 다시 API 제공업체에 등록하자! 현재 영향 가는 곳은 카카오로그인과 구글로그인.

1. 카카오로그인

SHA-1 인증서로 키해시 구해서 개발자 페이지에 등록한다.

echo sha1인증서지문 | xxd -r -p | openssl base64

키해시 구하는 법 참고 사이트: https://m.blog.naver.com/luvtoma/221801942336

2. 구글로그인

  • AAB 업로드 직후 App Tester에서 다운받아 사용할 때는 구글로그인이 되지 않았는데, 몇시간 뒤에는 따로 작업을 안해줬는데도 됐음. 의문… 아무튼 문제 없음!

오래전부터 알고는 있었지만 이렇게 간단한 줄 알았으면 진작 했을걸!

참고

  1. https://yozm.wishket.com/magazine/detail/912/
  2. https://reactnative.dev/docs/signed-apk-android#generating-the-release-aab

--

--