알아가기/Flutter

[Flutter] "버전 코드는 이미 사용되었습니다. 다른 버전 코드를 사용해 보세요." 해결

XEV 2022. 11. 14. 20:34

버전 코드 오류

이전에 작성된 플러터 앱을 업데이트하기 위해서 Generate Signed Bundle 로 aab 파일을 만들고 구글 개발자 콘솔에 업로드를 하는 과정에서 "버전 코드는 이미 사용되었습니다. 다른 버전 코드를 사용해 보세요." 오류를 맞이 하였다.

 

예전에도 이런 경험이 한번 있었기에 기록과 기억을 위해 포스트를 작성한다.

 

 

 

pubspec.yaml 파일을 보면 기본값으로 version: 1.0.0+1 으로 되어있다. 그러면서 앱의 새로운 기능이나 오류를 해결하면서 업데이트 과정을 거치면서 버전을 올리면서 version: x.x.x+x 와 같이 계속 수정되어야 한다.

이때, 위의 주석에 나온 것처럼 빌드 넘버를 표시하고 있고 앞쪽 닷으로 나뉜 것은 버전 네임으로 사용되고 뒤의 +x 는 버전 코드로 사용된다고 한다.

 

해결 방법에 대해 검색을 하다 보면 pubspec.yaml 파일의 version: 부분을 수정하면 해결이 된다는데 나는 되지 않았다.

몇 번을 고치고 저장하고 업로드를 하여도 똑같은 오류 "버전 코드는 이미 사용되었습니다. 다른 버전 코드를 사용해 보세요." 를 나에게 보여준다.

 

 

 

 

 

해결 방법

위와 같은 방법을 이미 해봤다면 이제 local.properties 파일을 눈여겨보자.

android > local.properties

이 파일을 열어보면 바로 감이 잡힐 것이다.

pubspec.yaml 에 설정한 버전과 다른 값이 들어있을 것이다.

 

pubspec.yaml 에 수정한 버전과 local.properties 에 있는 버전을 일치시켜 수정 및 저장을 해준다.

# pubspec.yaml

version: 1.2.0+3
# local.properties

flutter.versionName=1.2.0
flutter.versionCode=3

 

 

그런 후 빌드하여 aab 생성하고 파일을 업로드하면 이제는 통과가 될 것이다.

 

pubspec.yaml 에서 버전을 수정하면 local.properties 파일도 일과 수정이 이루어져야 하는 게 정상이 아닌지 의심을 해본다. (내 컴퓨터의 프로그램 설정 문제인지 모르겠지만 VSCode 에서도 Android Studio 에서도 둘 다 안됐음.)