개발 완료 후, google play sotre 출시를 위해 release용 인증서를 생성함
안드로이드 앱을 play store에 올리려면 배포할 때 개발자가 서명을 해야한다.
이 서명을 키스토어(keysotre)라고 한다.
Keystore는 앱 개발자에 대한 정보를 서명한 암호화 된 파일로 안전한 저장소 역할을 한다.
추후에 앱을 업데이트 할 때, 새로운 버전이 이전 버전과 동일한 키스토어로 서명되었는지를 확인하여 앱의 신원을 확인한다.
Keystore을 사용하는 이유는
앱의 신원이 확인되고, 업데이트 과정에서도 보안적인 문제를 방지할 수 있기 때문이다.
your_key_name과 your_key_alias는 원하는 이름으로 작성하면 된다.
해당 키는 보안성이 좋아야 하기 때문에 기본값 1024 대신 탈취하기 보다 어려운 2048로 변경하였다.
keytool -genkey -v -keystore your_key_name.keystore -alias your_key_alias -keyalg RSA -keysize 2048 -validity 10000
해당 명령어를 입력하면 아래와 같이
해당 키 저장소의 정보를 입력하라는 문구가 나온다.
Enter your keystore password: password1234 // 비밀번호
Re-enter new password: password1234 // 비밀번호 재입력
What is your first and last name? [unknown]: DaYoung // 개발자 이름
What is the name of your organizational unit? [unknown]: company // 회사 개발팀
What is the name of your organization? [unknown]: company // 회사이름
What is the name of your city or Locality? [unknown]: korea // 대한민국
What is the name of your State or Province? [unknown]: seoul // 서울
What is the two-letter country code for this unit? [unknown]: kr // 국가코드
다 입력하고 나면 10000일 동안 유효한 해당 your_key_name.keystore 라는 프로젝트 디렉토리에 키 저장소 파일이 생성되게 된다.
만약 Keystore 비밀번호를 잃어버렸을 경우, 아래 참고
https://ravirajdesai501.medium.com/recover-your-lost-android-keystore-file-b9cc2e3d8762#:~:text=In%20the%20menu%20bar%2C%20click

singingConfigs {
debug {
...
}
release {
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
...
buildTypes {
debug {
...
}
release {
...
signingConfig signingConfigs.release
}
}
}
MYAPP_RELEASE_STORE_FILE=snoozz.keystore
MYAPP_RELEASE_KEY_ALIAS=snoozz
MYAPP_RELEASE_STORE_PASSWORD=password
MYAPP_RELEASE_KEY_PASSWORD=password
AAB(Android App Bundle)은 안드로이드 확장자 종류 중 하나인데,
기존 apk의 용량 문제를 해결하기 위해서 개발되었다.
apk는 하나의 파일 안에 여러개의 ABI(Application binary Interface)를 포함해야 하기 때문에 apk 파일의 크기가 커질 수 밖에 없다.
파일의 크기가 크다면 그만큼 다운로드나 업데이트 할 때 많은 시간이 들게 된다.
그렇게 된다면 유저가 사용하는 입장에서 불편함을 겪을 수 밖에 없는데
이를 해결하기 위해서 aab가 개발 되었다.
cd android
./gradlew bundleRelease
aab 파일을 google play store에 업로드하여 앱을 출시 한다!
https://blog.naver.com/PostView.naver?blogId=sally_company&logNo=222465780422