hsunny study blog

앱 배포를 위한 APK 서명 본문

programming/android

앱 배포를 위한 APK 서명

헤써니 2018. 4. 3. 10:08

하이브리드 앱을 안드로이드, ios 모두 MAC에서 작업하기 위해 합치는 작업을 수행했다.

 

MAC에서는 $cordova build android 를 실행해서 생성된 apk(android-debug.apk) 업로드가 되지 않았다.

$cordova --release android 를 실행하고서는 서명키를 등록하지 않아 업로드가 되지 않았다.

발생한 에러는 이전에 apk를 업로드한 SHA-1 일치하지 않음, 테스트 apk를 업로드할 수 없음 이었다.

 

기존에 apk windows 기반의 데스크탑에서 업로드를 해왔는데, 이때 android-debug.apk를 업로드했었다.

릴리즈버전이 아닌 디버그버전을 업로드했음에도 불구하고, 에러가 발생하지 않아 그대로 몇번의 배포를 진행했었다.

 

한 곳에서 개발을 하기 위해 MAC에 합치는 작업을 하면서, 잘못됨을 깨달았고 수정했던 과정을 포스팅하고자 한다.

 

 

====================================================================================

 

설정을 하는데 있어 가장 많은 도움을 받았던 포스팅 글은 https://xepushapp.com/board_jauh29/60102 이다.

하지만 3) 기존 서명키파일(jks파일) 바탕화면 옮김 에서 막혔다.

서명키를 만든적이 없었기 때문에 파일이 뭔지 알수가 없었다 ^_^..

 

처음 앱을 배포하고, 얼마안되서 아래와 같은 화면이 떴었다.

당시 Google Play Console 앱서명 방식에 대하 안내가 떴을 때 


 

[시작하기]를 누른 기억은 있었지만, 서명키파일을 만들었던 기억은 없었다.

 

 



Android Studio에서 처음으로 프로젝트를 실행하거나 디버그하면 IDE가 자동으로 $HOME/.android/debug.keystore에 디버그 키스토어 및 인증서를 생성하고 키스토어 암호 및 키 암호를 설정합니다.

혹시 앱에 디버그 키서명이 적용되어 있는지 확인할 필요가 있었다.

 

먼저 Android Studio 에서 앱의 SHA1키를 알아냈다.

*Android Studio에서 SHA1키 알아내기http://goodnut.tistory.com/61

 

debug.keystore를 바탕화면으로 복사해서 KeyStore Explorer 프로그램으로 키파일의 alias를 확인하여, 앱에 적용된 signing 파일의 alias와 일치하는지 확인했다.

 

debug.keystore의 디폴트 속성 *

Keystore name: "debug.keystore"

Keystore password: "android"

Key alias: "androiddebugkey"

Key password: "android"





alias 'androiddebugkey'와 일치했다.

안드로이드 개발자 페이지에서 '디버그 인증서는 빌드 도구에서 생성하고 설계상 보안이 유지되지 않으므로 Google Play 스토어를 포함한 대부분의 앱 스토어는 디버그 인증서로 서명된 APK를 게시할 수 있도록 허용하지 않습니다.'라고 하는데..



어떻게 앱이 게시될 수 있었는지는 의문이다. 대부분의 예외가 발생했나보다.

 

이렇게 해서 기존에 사용한 서명키가 뭔지 알아냈다면..!!

 


2단계 4번부터 차례대로 진행해나갑니다.

  

생성한 새로만든 키는 APK업로드 때 필요하기 떄문에, 유실되지 않도록 관리해야 한다.



 

 


'programming > android' 카테고리의 다른 글

[소켓연결] 전송문제  (0) 2016.04.19
[소켓연결] 어플튕김  (0) 2016.04.19