[Flutter] 릴리즈 appbundle 생성 안되는 문제 모음.

TaeSun·2022년 2월 23일
1

Release appbundle 생성 문제

앱을 출시하는 모든 분들이 보셨으면 하는 바램입니다.
최소한의 삽질을 멈출 수 있는 유일한 방법이지 않을까 합니다.



Problem

  1. 'app:validateSigningRelease'. -> 릴리즈 storefile 위치가 잘못 되었다.
    storePassword = keytool을 이용해서 만든 비밀번호.
    keyPassword = keytool을 이용해서 만든 비밀번호.
    keyAlias = keytool을 이용해서 -alias 뒤에 입력한 문자 그대로 작성 ex) '-alias key' , '-alias -pckey' 면 key, pckey 가 keyAlias = key 가 된다.


    storeFile =본인이 key.jks 를 만든 위치 보통 여기서 많이 실수하는게 '/' 랑 '\'구분을 잘 못해서 에러를 내는 실수도 있다. 여기서 경로는 '/'를 사용해서 경로를 지정해주어야 한다.


    (추가적으로 stackoverflow 다른 블로그에 있는 path를 그대로 붙이는 경우도 있는데
    ex) ./key.jks , ../key.jks 경로가 전혀 다른거다.. 경로 설정을 한번도 해본적이 없다면 이번 기회에 내가 불러들인 파일의 경로가 어디있는지 확인해보는 기회가 되면 좋겠다.

  1. app:signreleasebundle => java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not available
    이 문제로 가장 골치 아팠다. 5시간 동안 찾아봐도 해답이 없었는데, stackoverflow를 봐도 이해가 안가고 mac/linux 방법만 나와있어서 그대로 적용하면 아마 안되는 분들이 허다했을거다. 근데 너무 간단한 문제였다.


    (2) 결론 : flutter doctor -v 해서 Java binary at: 나오는 jre 경로를 keytool 만들때 적어주어야 한다. 무엇이 다른지 아래의 터미널 사진을 보고 설명을 이어가겠습니다.

    위 방식은 기본적으로 구글링을 해본 결과 이렇게 keytool을 사용하라고 나와있는 '기본적인' 명령어다.
    하지만 이렇게 되지 않고, 위와 같은 에러들이 계속 나오는 상황이라면 아래의 terminal을 보기 바랍니다.

    keytool은 jre 폴더 안에 keytool.exe 파일이 있다. 이걸 가지고 keytool key 를 생성하게 되는건데 keytool 경로를 지정해주지 않고 사용해서 오류가 발생했다. 그렇기 때문에 "~\keytool" 따옴표 안에다가 jre경로를 명시해주고 -keystore 다음 본인이 설정할 .jks 스토어 경로를 명시해주고 사용하게 되면 release bundle 이 문제 없이 진행되는걸 볼 수 있다.



Result

처음 appbundle 관련해서 삽질을 굉장히 오래했다.
보통 StackOverflow에서 대부분의 답을 찾을 수 있지만
개발환경은 제 각각 다르기 때문에 Stack에 있는 코드가 혹은 정보가 내가 맞춰둔 환경에 100% 대응된다는 법은 없다.
특히 개.발.환.경 경우는 꼼꼼하게 살펴보고 error 메세지가 요구하고 있는게 무엇인지 인지하고 찾는게 중요하다고 생각한다.

profile
Good things take times

0개의 댓글