구글플레이에 앱 프로덕션으로 출시

Kyung yup Lee·2021년 1월 9일
0

3일 정도를 키 에러로 인해 정치판 앱을 출시하지 못했다.

간단하게 키에 대해서 공부한 것을 정리해야 나중에 또 고생을 안 할 것 같아

블로그에 정리를 하려고 한다.

정리

release 형태로 변경

먼저 구글플레이에서 요구하는 서류를 입력하는 것은 간단한 절차이다.

중요한 것은 이제 앱을 release 형태로 만들어서 서명하고 업로드 하는 절차이다.

왼쪽 아래에 보면 build variants 가 있다. 따로 설정을 바꾸지 않았다면 저 자리에 있을 것이다.

저 탭을 클릭하면 active build variant가 있는데, 이것을 우선 release로 바꿔준다.

기존에는 debug라고 되있을텐데, 이것은 내가 앱을 개발하는 단계고 디버그 형태로 앱을 빌드할 것이라는 이야기이다.

하지만 난 이제 배포형태로 앱을 빌드해야 하므로 release로 바꿔준다.

versionCode 및 versionName 수정

manifest를 보면 versionCode, versionName 내용이 기본값으로 들어가있지 않다.

gradle에 입력되있긴 하지만 찜찜하니, manifest에도 입력해주자.

위 처럼 입력하면 된다.

앱 서명 하기

17년도에 앱을 업로드할 때랑 방식이 달랐다. 정확하게 기억은 안나지만 앱 서명키를 가지고 서명을 했었던거 같은데, 지금은 업로드 키로 서명을 해야 한다.

그리고 앱 서명키는 구글이 관리한다.

기존 : 앱 서명키를 개인이 관리 -> 분실위험 높음. -> 구글이 할 일 늘어남
에 따라
앱 서명키를 구글이 관리 -> 대신 업로드키를 통해 개발자 본인 인증

그런데 만약 내가 이미 출시한 앱을 업데이트를 하려고 하면 같은 업로드키를 사용해서 업로드를 해야한다. 그래서 결국 이 업로드키를 분실하면 다시 구글에 재발급 신청을 해야되는 건 똑같다.

뭔가 심오한 이유가 있을 터인데...

build -> generate signed bundle or APK 로 간다.

그러면 app bundle을 만들것인가, APK를 만들것인가 물어본다.

참고로 apk 방식은 21년 8월 부로 종료되므로 app bundle 방식에 익숙해지는 것이 좋을 것 같다.

app bundle은 규모가 큰 앱에 적절한 방식이라고 한다.

난 apk 방식으로 했다. 나중에 app bundle로 해봐야지

apk로 next를 누르면 위 그림처럼 나온다.

위에서 업로드키로 앱을 서명한다고 했다. 이 key를 저장하는 key store가 존재하고 이 파일의 파일 형태는 jks 이다.

이 key store을 저장할 경로를 저장하고 new key를 만든다. 아까도 말했듯이 기존 앱을 업데이트하거나 버전 업그레이드를 할 경우에는 기존에 존재하는 키를 통해 앱 서명을 해야한다.

그래서 첫 출시일 경우에는 부담없이 new key를 만들어 서명하면 되지만 한 번 출시를 하면 그 키를 반드시 잘 관리해주어야 한다.

나 같은 경우에는 key store 파일을 저장한 경로에 메모장 파일을 만들어 비밀번호와 키 이름을 저장해두었다.

이렇게 서명을 하면 프로젝트 -> app -> release 에 가면 서명된 apk 앱이 있다.

이걸 구글 플레이 출시파일을 올리는 곳에 올려주면 된다.

오류

내가 발생했던 오류들을 정리하겠다.

원인은 모른다.

내가 발생했던 문제는 SHA1 업로드 키가 다르다는 것이 었다. 앱이 잘못된 키로 서명되었다는 뜻이었는데, 계속 바른 절차로 앱을 서명해도 계속 문제가 생겼다.

그래서 결론을 내린것은 구글플레이 콘솔에서 꼬였다는 생각이 들었다.

이 오류코드들이 정확하지가 않다. 광고 관련 문제가 발생해도 SHA1 에러코드를 띄우고 versionName 설정을 잘못해도 SHA1 에러코드를 띄운다.

추가로 나는 발생하지 않았는데, debuggable 관련된 옵션이 gradle 파일이나 코드 내부에 있다면 삭제하는 것을 추천한다. release 버젼에서는 적절하지 않은 옵션이고, 콘솔에서 이것을 오류로 잡을 가능성이 있다.

그래서 나는 콘솔에서 해당 앱을 지워버리고 새로 만들었다.

다시 절차에 따라서 해보니까 문제없이 작동했다.

개인적인 생각으로는 이 원인이 처음 콘솔에 앱을 올려놓을때는 광고를 앱에 달 생각이 없었어서 광고 없음으로 설정했던 것 같다.

그런데 나중에 광고를 달아버렸고 이 부분이 충돌하면서 문제가 생기지 않았나 하는 추측을 해본다.

profile
성장하는 개발자

0개의 댓글