일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 스택 큐 차이
- jvm이란
- 2022 플러터 설치
- rxjava disposable
- ANR이란
- 안드로이드 라이선스 종류
- 서비스 vs 쓰레드
- Rxjava Observable
- android ar 개발
- 큐 자바 코드
- 자바 다형성
- rxjava hot observable
- 멤버변수
- 안드로이드 레트로핏 사용법
- jvm 작동 원리
- 안드로이드 유닛 테스트 예시
- android retrofit login
- ar vr 차이
- 클래스
- 안드로이드 유닛테스트란
- 안드로이드 라이선스
- 안드로이드 os 구조
- 객체
- rxjava cold observable
- 스택 자바 코드
- 플러터 설치 2022
- 안드로이드 유닛 테스트
- 2022 플러터 안드로이드 스튜디오
- 서비스 쓰레드 차이
- 안드로이드 레트로핏 crud
- Today
- Total
나만을 위한 블로그
[Android] 플레이 스토어의 키스토어 분실 시 재설정하는 방법 본문
플레이 스토어에 앱을 업데이트할 때 keystore라는 파일과 pepk 파일이 생겨난다.
이 2가지 파일을 잘 보관하고 있어야 하는데 실수로 삭제해버린 듯해 앱을 업데이트하려는데 되질 않았다.
.aab 파일이나 apk 파일을 업로드하고 잠시 후 이런 에러 메시지가 나온다면 아래 방법을 따라해보자.
Android App Bundle이 잘못된 키로 서명되었습니다. 올바른 서명 키(SHA1:...)로 App Bundle에 서명한 다음 다시 시도해 보세요
저 메시지는 따로 스크린샷을 떠서 캡쳐해 이미지 파일로 저장해두자. 나중에 구글에 문의할 때 첨부 파일로 보내기 위함이다. 없어도 되지만 있다고 해서 나쁠 건 없다.
복구할 수 있다면 그걸 재활용해서 쓰면 되겠지만 발할라로 떠난 경우 내가 취할 수 있는 방법은 2개다.
- 플레이 스토어에 올라간 앱을 삭제(게시 취소)하고 다시 올린다
- 새로운 키스토어를 생성해 에러를 해결한다
삭제하는 것보단 키스토어를 생성하는 것으로 방향성을 잡고 움직였다.
먼저 안드로이드 스튜디오를 켠다. 그 다음 위의 탭 중 Build > Generate Signed Bundle/APK를 클릭한다.
그러면 이런 화면이 나온다. apk나 abb 파일 중 어떤 걸 만들건지 선택하는 화면이니 원하는 걸 누르고 next를 누른다.
여기서 keystore가 생성될 위치와 비밀번호, 키의 별명(alias)을 정해준다.
비밀번호는 정말 중요하니 설정했으면 잊어버리지 않게 자신만 볼 수 있는 어딘가에 메모해두자.
다 작성하고 next를 누르면 아래 화면이 나온다.
플레이 스토어에 올릴 거니까 release를 누르고 finish를 누른다.
그러면 내가 설정한 경로에 .jks 확장자 파일이 생긴다. 생기면 우측 하단에 팝업창이 뜨고 아래로 향하는 화살표를 누르면 locate라는 텍스트를 클릭할 수 있다. 이걸 누르면 파일이 생성된 위치로 자동으로 이동시켜준다.
그리고 이 파일을 복사해서 이것 또한 나만 볼 수 있는 어딘가에 숨긴다. 정말 중요한 파일이다.
안드로이드 스튜디오와 지금 보고 있는 폴더는 아직 끄면 안된다. 정말 중요한 게 남아 있다.
이제 여기까지 잘 따라왔다면 다음은 아래 사이트로 들어간다. 아마 방법을 찾아보다가 한번은 확인했을 사이트일 것이다.
맨 밑으로 스크롤을 내리면 이런 내용이 있다.
새 키를 만들고 부분을 클릭하라는 표시가 보이는데 누를 필요 없이 좀만 스크롤을 위로 올려서 아래 화면을 보면 된다.
저 명령어를 쳐야 한다. 그런데 문제는 저 명령어를 어디에 쳐야 하는지가 나와있지 않다.
일단 저 명령어를 그대로 복사한다. 그리고 아까 켜둔 안드로이드 스튜디오로 돌아간 다음, 맨 밑을 보면 Terminal 탭이 있다. 이걸 누른다.
그러면 cmd와 비슷하게 검은 화면에 흰 커서만 깜박거리는 걸 볼 수 있다.
그럼 여기에 저 명령어를 쳐야 하나? 아니다. 위에서 .jks 확장자 파일이 저장된 폴더를 끄지 말라고 했었다.
바로 이 폴더의 경로로 이동해야 한다. 터미널에서 폴더를 이동하는 명령어는 "cd 폴더명"이다.
'tistory/android/phone' 폴더로 이동해야 한다면 cd tistory\android\phone 이라고 치면 된다. \는 하위 폴더로 이동한다는 뜻이다. 이런 식으로 .jks 파일이 위치한 폴더로 가기까지 존재하는 폴더명들을 차례로 입력해 엔터를 친다.
그리고 위의 녹색 표시된 명령어를 복사해서 터미널에 붙여넣는다. 그럼 아래와 같이 될 것이다.
여기서 바로 엔터를 치지 않는다. 아직 필요한 정보들을 다 입력하지 않아서 에러만 뜰 것이다. 저기서 수정해야 할 곳들이 있다.
첫 번째 upload-keystore.jks 부분에는 앞서 만든 jks 파일의 이름을 확장자까지 전부 적어준다.
두 번째 upload 부분은 앞서 만든 jks 파일의 별명(alias)으로 바꿔준다.
jks 파일의 이름을 aaa.jks라 정했고 alias를 bbb라고 썼다면 아래와 같은 형태가 된다.
keytool -export -rfc -keystore aaa.jks -alias bbb -file upload_certificate.pem
알맞게 적어줬다면 아래에 비밀번호를 입력하라는 텍스트가 나오며 커서가 깜박인다.
여기서 비밀번호를 적을 땐 커서가 움직이지 않으니 입력해도 움직이지 않는다고 이상하게 생각말고 당당하게 비밀번호를 입력한다. 백스페이스 버튼을 눌러 지우는 것도 가능하다.
비밀번호를 입력하고 엔터치면 .jks 파일이 있던 곳에 upload_certificate.pem 파일이 만들어진 걸 볼 수 있다.
이제 이 파일 또한 나만 볼 수 있는 어딘가에 잘 숨겨둔다. 여기까지 잘 진행됐다면 마지막으로 해야 할 일이 하나 있다.
빨간 사각형 부분을 클릭하면 아래 화면으로 이동된다.
구글에 로그인한 상태라면 이름, 성, 이메일 주소는 자동으로 채워져 있다.
개발자 계정 ID가 문제인데, 이건 어디서 확인하냐면 플레이 콘솔로 이동하면 내가 플레이 스토어에 올린 앱들을 보여주는 화면이 있다. 이 화면의 왼쪽을 보면 설정이 있는데 여기서 설정 > 개발자 계정 > 계정 세부정보를 클릭하면 확인할 수 있다.
그리고 거주 지역, 업데이트할 앱의 패키지 이름 등 정보를 입력하고 "의견을 제공하거나 문제를 설명해 주세요" 부분에 이래저래 사연을 쓰고 제출하면 된다.
개인적 경험으로 일요일에 보냈는데 오늘(월요일) 오후쯤에 지메일로 업데이트 했다는 답장과 영어 이메일 2개가 왔다.
그러나 키가 업데이트됐다고 바로 스토어에 앱을 올릴 수 있는 건 아니다. 2일 정도가 지나고 나서야 업데이트를 할 수 있다.
이런 번거로운 일을 겪지 않게 플레이 스토어에 앱을 게시할 때, 업데이트할 때 필요한 파일들은 꼭 내가 잘 볼 수 있고 나만 아는 곳에 잘 저장해두자.
'Android' 카테고리의 다른 글
[Android] Room DB 사용법 (0) | 2021.01.30 |
---|---|
[Android] FCM 적용한 앱을 스토어에 등록한 후 java.lang.NullPointerException: Firebase Instance ID component is not present 에러 발생 시 해결법 (0) | 2021.01.24 |
[Android] 리사이클러뷰 아이템 안의 체크박스의 체크 상태를 유지시키는 법 (0) | 2020.12.24 |
[Android] 레트로핏을 이용한 회원가입, 로그인 기능 구현 (with MySQL, PHP) (0) | 2020.12.12 |
[Android] 특정 상황에 FCM 푸시 메시지를 받지 않도록 설정하는 법 (0) | 2020.12.09 |