fastlane으로 구글 플레이 콘솔의 내부테스트로 앱을 배포하려는데 사이닝 키가 다르다는 메세지를 받았다.
./gradlew signingReport
이를 확인하기 위해 위의 명령어로 현재 프로젝트의 사이닝 키 정보를 출력해보았다.
onfig: debug
Store: /Users/yongin/gabojait-react-native/android/app/debug.keystore
Alias: androiddebugkey
MD5: 어쩌구저쩌구
SHA1: 어쩌구저쩌구
SHA-256:어쩌구저쩌구
Valid until: Wednesday, May 1, 2030
----------
Variant: release
Config: release
Store: /Users/yongin/gabojait-react-native/android/app/release.keystore
Alias: playstore-release-key
MD5: 어쩌구저쩌구
SHA1: 어쩌구저쩌구
SHA-256: 어쩌구저쩌구
Valid until: Thursday, November 9, 2030
----------
Variant: releaseStaging
Config: release
Store: /Users/yongin/gabojait-react-native/android/app/release.keystore
Alias: playstore-release-key
MD5: 어쩌구저쩌구
SHA1: 어쩌구저쩌구
Valid until: Thursday, November 9, 2030
----------
Variant: debugAndroidTest
Config: debug
Store: /Users/yongin/gabojait-react-native/android/app/debug.keystore
Alias: androiddebugkey
MD5: 어쩌구저쩌구
SHA1: 어쩌구저쩌구
SHA-256: 어쩌구저쩌구
Valid until: Wednesday, May 1, 2030
----------
확인해보니 내가 준 인증서 SHA1키와 줘야하는 인증서 키 내역이 달랐다.
구글플레이 스토어에 있는 업로드 인증서를 내가 아닌 다른 팀원도 만들었었는데 그걸 잊고있었다. 지금은 내가 해야하니 인증서 재요청(하는 방법)을 하게되었다.
googlePlay console > 앱> 설정> 앱서명 에 들어가면 키가 2개가 있는데
차이점을 알게되었다.
개발자가 apk or aab 를 올릴 때 서명하는 키
Build>Generate Signed Bundle or APK 를 누르면 두가지 선택지를 제공한다. 이때 첫번째를 선택해야 한다.
2021년부터 구글플레이에 앱을 제출할 때는 무조건 aab 사이닝 키를 사용해야 하기 때문이다.
android studio의 Build > Generate Signed Bundle/APK 를 선택해서 생성해도 되고, 나처럼 아래 명령어를 사용해도 된다.
keytool -genkey -v -keystore 키스토어이름 -alias 별칭 -keyalg RSA -keysize 2048 -validity 유효일수
쭉 정보를 입력하고 맞으면 yes를 입력하면 keystore가 생긴다.
구글에서 앱을 사용자에게 제공할 때 서명하는 키
내가 생성한 release.keystore 파일을 구글 플레이 스토어의 업로드 키로 등록하기만 하면 앞으로 해당 파일로 배포를 할 수 있게 된다.
재요청 컴포넌트는 구글 플레이 콘솔 > 앱 > 설정 > 앱서명 에 들어가서 업로드 키 인증서 바로 밑에 있다.
나는 포스팅할 거란 생각없이 요청을 눌러서 이미 재요청 대기 중이라고 떠있다.
참고로 재요청은 해당 앱 계정 소유자로 로그인해야 가능하다.
나는 이 블로그 글을 보고 재요청을 했지만 지금은 재요청 컴포넌트를 입력했을 때
재요청 이유, upload_certificate.pem 파일을 첨부하면 끝나는 간단한 일이다.
아래와 같이 명령어를 입력해준다.(참고로 아래는 맥북 명령어이다)
keytool -export -rfc -alias 키스토어 별칭 -file upload_certificate.pem -keystore 생성한 키스토어
에러가 없다면 아래와 같이 pem 파일이 생긴다.
재요청 폼에서 첨부파일을 요구할 때 쓰길 바란다.