플레이스토어 배포를 하려고 aab 파일을 생성해서 업로드를 했는데 아래와 같은 에러가 떴다.
Android App Bundle이 잘못된 키로 서명되었습니다. 제대로 된 서명 키로 App Bundle에 서명한 다음 다시 시도해 보세요.
SHA1: 0C:A8:CD:78:8D:D3:07:8E:4D:F3:1B:8D:BB:91:E2:D9:01:9D:95:56
지문이 포함된 인증서로 App Bundle에 서명해야 하지만, 업로드한 App Bundle 서명에 사용된 인증서의 지문은
SHA1: BE:38:3E:FC:32:77:B3:5E:C1:C5:BF:CC:35:DD:5C:B6:71:3C:4B:C5
입니다.
구글에서 원하는 키는 0C:A8:CD:78:8D:D3:07:8E:4D:F3:1B:8D:BB:91:E2:D9:01:9D:95:56
해당 키인데, 내가 현재 제출한 키는 BE:38:3E:FC:32:77:B3:5E:C1:C5:BF:CC:35:DD:5C:B6:71:3C:4B:C5 이거여서 일치하지 않는 키여서 문제가 생기는듯했다.
처음에 aab파일을 생성할때 패키지명이 example로 되어있으면 안되는걸 몰라서 그대로 업로드했었는데 그때 만들고, 패키지명 수정하고 다시 만들어서 그런가.... 뭐때문인지 잘 모르겠다.
일단 구글에서 원하는 키인 0C:A8~ 저게 있는지 확인해보기위해서 안드로이드 터미널에 아래와 같이 명령어를 입력해줬다.
keytool -list -v -keystore <keystore 파일 경로>
나는 아래와 같이 파일경로를 입력해주었다.
keytool -list -v -keystore /Users/juwonjeon/Downloads/무제
비밀번호를 입력해주니깐 아래와 같은 결과가 나왔다.
keystore 파일에 두 개의 키(key0, key1)가 저장되어있긴한데, 구글에서 원하는 키는 없었다.
키 저장소에 2개의 항목이 포함되어 있습니다.
별칭 이름: key0
생성 날짜: 2025. 5. 1.
항목 유형: PrivateKeyEntry
인증서 체인 길이: 1
인증서[1]:
소유자: C=ko, ST=my state, L=seoul, O=my organization, OU=my unit, CN=juwon jeon
발행자: C=ko, ST=my state, L=seoul, O=my organization, OU=my unit, CN=juwon jeon
일련 번호: 1
적합한 시작 날짜: Thu May 01 10:54:05 KST 2025 종료 날짜: Mon Apr 25 10:54:05 KST 2050
인증서 지문:
SHA1: BE:38:3E:FC:32:77:B3:5E:C1:C5:BF:CC:35:DD:5C:B6:71:3C:4B:C5
SHA256: 61:BC:76:82:E3:8D:85:60:87:CB:9C:84:64:F8:60:90:01:DC:6B:F1:4D:91:C3:A2:76:BC:7B:63:B2:F4:C3:11
서명 알고리즘 이름: SHA256withRSA
주체 공용 키 알고리즘: 2048비트 RSA 키
버전: 1
*******************************************
*******************************************
별칭 이름: key1
생성 날짜: 2025. 5. 1.
항목 유형: PrivateKeyEntry
인증서 체인 길이: 1
인증서[1]:
소유자: C=ko, ST=my state, L=seoul, O=my organization, OU=my unit, CN=juwon jeon
발행자: C=ko, ST=my state, L=seoul, O=my organization, OU=my unit, CN=juwon jeon
일련 번호: 1
적합한 시작 날짜: Thu May 01 10:32:39 KST 2025 종료 날짜: Mon Apr 25 10:32:39 KST 2050
인증서 지문:
SHA1: E2:B5:16:0E:B0:8F:C4:B1:F0:DE:93:FA:7E:62:84:A5:80:4D:AC:97
SHA256: 0A:6B:97:E5:36:8F:D2:F7:89:CA:FB:51:57:50:DD:EF:07:DF:21:BA:25:99:EE:3B:F0:50:DC:1F:81:2F:35:ED
서명 알고리즘 이름: SHA256withRSA
주체 공용 키 알고리즘: 2048비트 RSA 키
버전: 1
*******************************************
*******************************************
원하는 키가 없기때문에 구글에 업로드 키를 재설정하는 요청을 해야된다.
터미널에 아래와 같이 명령어를 입력해준다
keytool -export -rfc -keystore [업로드키] -alias [키별칭] -file [생성될 pem 파일명]
나는 아래와 같이 입력해줬다.
keytool -export -rfc -keystore /Users/juwonjeon/Downloads/무제 -alias key0 -file upload_file.pem
참고로 업로드키와 키별칭은 Build > Generate Signed Bundle or APK 에 들어가면 확인할 수 있다
이렇게 하면 내가 지정해둔 폴더에 pem파일이 생성될것이다
그럼 이제 구글 콘솔에 들어가서 > 앱서명 > 업로드 키 재설정 요청에 들어간다
재설정 이유를 선택하고 방금 생성한 pem 파일을 업로드한다.
그럼 위와같이 대기상태로 변경될것이다. 승인되는데 2~3일정도 걸린다고한다ㅠㅠㅠ (승인되면 메일로 안내가 오는것같다)
---------- 여기까지가 aab 파일 업로드 오류 에러 해결
이후 글부터는 전체적인 배포방법 정리
이제 승인이나면 aab파일을 다시 생성하자
[비공개]https://coding-juuwon2.tistory.com/511 (해당 게시글에 자세하게 작성해놨지만, 키랑 비밀번호같은 개인정보를 적어놔서 비공개로 돌려놨다 )
<aab생성 방법>
근데 생성하기전에 무조건 버전을 올리고, 데이터베이스가 바뀐게 조금이라도 있으면 마이그레이션버전도 올려줘야함!!
1.Signed Bundle/APK 생성 메뉴로 이동: 상단 메뉴에서 Build > Generate Signed Bundle / APK를 클릭.
2. Signing Config 설정:
- Key store path: /Users/juwonjeon/Downloads/무제 (이전에 사용했던 keystore 경로 입력).
- Key alias: key0 (구글에 제공한 별칭)
- Key store password: (keystore 파일 비밀번호 입력)
- Key password: (키 비밀번호 입력)
하단에 "Remember passwords"를 체크하여 암호를 저장하면 다음부터 입력하지 않아도되서 편하니깐 꼭 체크해두자!! (aab파일을 생성할 일이 굉장히 많을것이기 때문에 설정해두면 매우 편할거임)
release를 누르고 create를 누르면 aab파일이 생성될것이다.
이제 생성된 aab파일을 구글 플레이콘솔에 업로드하면 된다. 일단 비공개 테스트를 12명에게 14일동안 해야한다
Play Console 진입 > 비공개 테스트 > 출시 > aab 파일 업로드
아래 사진과같이 뜨면 aab파일이 정상적으로 업로드 된것!!
> 국가/지역 등록 > 테스터까지 등록후 Google에 검토를 위해 변경사항 전송 클릭
검토 완료되면 아래와 같이 출시라고 뜰것임
그러면 이제 테스터 등록한 사용자들한테 내 앱링크를 뿌려서 12명에게 2주동안 유지하도록 해야한다.
이 과정이 생각보다 까다로운게 12명을 다 구했다고해서 모두가 내앱을 2주동안 유지해주지 않는다. 그래서 최대한 많이 구해놓는게 좋다
나도 테스터 51명 등록해놨는데 나중에보니깐 20명으로 줄어있었다....ㅎㅎ
테스터를 구하는 과정이 힘들었는데 나는 품앗이 오픈채팅방을 이용했다.
가장 유명한 옾챗인것같다. 여기서 운영하는 카페들어가서 품앗이하면 금방 채운다.
https://open.kakao.com/o/gcrp8BXf
안드로이드 플레이스토어 비공개 테스트 품앗이
#앱출시 #앱배포 #테스트 #비공개테스트 #품앗이 #개인개발자 #인디게임 #12명 #안드로이드 #플러터 #리액트네이티브 #플레이스토어
open.kakao.com
그리고 솔직히 나는 불안해서 크몽으로 돈내고 테스터도 구했다.
내가 알아본곳은 2만원대였고 안전빵으로 16명 테스터를 지원해준다. 생각보다 비싸지 않으니 크몽으로도 구하는걸 추천한다!!
리젝 자주 발생하는부분도 알려주고, 프로덕션 심사에 필요한 설문 내용도 제공해줬다. 무엇보다 돈내고하니깐 2주전에 삭제하지 않는것이 보장되는게 젤 좋았다
이렇게 2주라는 시간이 흐르면 프로덕션 신청버튼이 활성화된다.
프로덕션 신청버튼을 누르면 프로덕션 심사에 필요한 설문을 하도록 설문창이 나온다.
(이 설문도 꼼꼼히 작성해야 리젝을 안당하는듯했다 - 나는 크몽에서 제공해주신 설문을 바탕으로 작성함)
설문까지 완료하면 아래와 같은 이미지가 나온다.
이때도 일주일 이내로 검수기간이 들어간다고한다.
#프로덕션 배포 완료
다들 프로덕션 배포도 며칠 걸렸다해서 걱정했는데 나는 몇시간만에 된것같다.. (몇시간만에 되서 쪼끔 의아했음)
만약 심사가 거절된 경우는 이메일로 거절 사유가 발송된다고 한다.
그럼 무사히 프로덕션 배포 완료!! 다행히 리젝 안당하고 배포가 완료됐다.
앱 상태가 프로덕션이라고 뜨면 완료된것이다.
# 앱 검색 노출
이제 구글 플레이스토어에서 확인 가능하나, 최소 다운로드 수가 충족되지 않아서 검색어로는 노출이 안되고 링크로만 노출이 가능하다
이제 다운로드수나 리뷰수를 늘려서 검색어로 노출이 되도록 해야함!!!
play에서 보기를 클릭하면 스토어링크를 받을 수 있는데, 이 링크를 여기저기 뿌려서 사용자수를 늘리자
----
직접 배포까지 혼자 다 해보니깐 깨닫게 된것이 많다
- 배포할땐 패키지명을 example로 설정하면 안된다 -> 이때 패키지명 바꾸는법도 알게됨
- aab생성하기전에는 무조건 버전을 올리고, 데이터베이스가 바뀐게 조금이라도 있으면 마이그레이션버전도 올려줘야함
- 프로덕션 배포가 완료되어도 리뷰를 남기면 사용자들에게 보이지 않음(24시간이 지나야 노출됨)
- 비공개 테스터를 구하는게 까다롭고 시간이 많이걸림 1달정도 걸린듯 (완전 넉넉하게 시간과 인원을 준비하는게 좋음!!)
등등...
----
홍보
요즘 안전에 관련한 사건사고가 많이 일어나는 와중에 안전앱을 만들어보고싶어서
내 위치에서 가까운 대피소를 알려주는 앱을 만들어봤다. 재난 관련 커뮤니케이션도 가능하다.
1인 개발이여서 아직 많은 기능을 추가하지는 못했지만, 추후에 산불현황과 지반위험구역 확인기능도 추가해서 앱하나만 확인해도 여러 재난정보를 확인가능하도록 만들고싶다.
또 아직은 AOS밖에 없지만 IOS도 만들어보고싶다!!
[AOS]
https://play.google.com/store/apps/details?id=com.myapp.jikimi
지키미 - 재난으로부터 안전한 하루 - Google Play 앱
갑작스러운 재난발생시, 내 주변의 대피장소를 빠르게 확인하고 대피해보세요!
play.google.com
아직 개선할점이 많은 앱이다ㅠㅠ
사용해보고 좋은점이나 개선할점은 리뷰로 많이많이 남겨주면 앱개선에 도움이 많이될것같다!!
'개발 노트 > Kotlin' 카테고리의 다른 글
[Android-kotlin] pdf 뷰어 띄우기 (0) | 2025.04.29 |
---|---|
[에러] org.jetbrains.kotlin.gradle.tasks.CompilationErrorException: Compilation error. See log for more details (0) | 2025.04.22 |
splashscreen 화면 구현하기 (0) | 2025.04.21 |
[에러] 에뮬레이터 위치 설정이 안되는 에러 (0) | 2025.04.15 |
API key 연동시 인코딩 에러 (1) | 2024.10.16 |