Develop/Flutter

[Flutter 플러터] 안드로이드 Play Store 앱 배포를 위해 aab 파일 만들기 - MAC

issuemaker99 2024. 8. 31. 08:38
728x90

앱 디지털 서명

Google Play 스토어에 출시하기 위해서는 반드시 앱에 디지털 서명을 해야 합니다.

디지털 서명을 진행한 후 Play Console에 추출한 AAB 파일을 업로드 해야 합니다.

 

1. 먼저 Java 가 설치 되어 있는지 확인

java --version

 

만약 자바가 설치되어 있지 않다면 설치를 먼저 진행해야 합니다.

brew install openjdk@17

 

[brew 사용법]

2024.06.15 - [Develop/MAC] - MAC OS 맥북 Homebrew 설치 및 설정

 

MAC OS 맥북 Homebrew 설치 및 설정

● Homebrew 로 무엇을 할 수 있나요?Homebrew는 Apple(또는 Linux 시스템)에서 제공하지 않는 유용한 패키지 관리자를 설치합니다.● Homebrew 설치Homebrew 사이트 (https://brew.sh/ko/) 접속 후 설치하기의 스크

issuemaker99.tistory.com

 

java 설치 후 path 설정하기 

echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

 

2. KeyStore 만들기

콘솔창에 아래 명령어를 실행 합니다.

keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

 

그러면 7가지 질문이 나오고 모두 대답하고 y 를 클릭하면 key.jks 파일이 만들어지고 경로를 알려줍니다.

저는 질문을 모두 영어로 작성했습니다. (비민번호, 이름과성, 조직단위이름, 조직이름, 구/군/시이름, 시/도 이름, 국가코드)

 

생성된 key.jks 파일을 프로젝트폴더 내에 [android > app] 에 복사해 줍니다.

 

프로젝트폴더 내 [android > app] 폴더에 key.properties 파일을 생성하고 아래 내용을 작성해 줍니다.

storePassword=keystore생성시입력한비밀번호
keyPassword=keystore생성시입력한비밀번호
keyAlias=key
storeFile=./key.jks

 

[주의!!] key.jks , key.properties 파일은 유출되지 않게 gitignore 에 꼭 등록해 주세요

 

3. Gradle에서 서명 구성

프로젝트폴더 내 [android > app] build.gradle 파일을 수정합니다.

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('app/key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

 

아래처럼 "android { " 시작하전에 추가해 줍니다.

 

그리고 다시 밑에 있는 "android {}" 내용도 아래와 같이 수정 합니다.

signingConfigs 는 buildTypes 위에 작성 합니다.

buildTypes 내에 있는 signingConfigs 를 release 로 수정 합니다.

signingConfigs {
   release {
       keyAlias keystoreProperties['keyAlias']
       keyPassword keystoreProperties['keyPassword']
       storeFile file(keystoreProperties['storeFile'])
       storePassword keystoreProperties['storePassword']
   }
}
buildTypes {
    release {
        // TODO: Add your own signing config for the release build.
        // Signing with the debug keys for now, so `flutter run --release` works.
        signingConfig = signingConfigs.release
    }
}

 

4. Release 앱 번들 빌드하기

flutter build appbundle

 

아래 보이는 경로에 aab 파일이 생성 됩니다.

 

5. 생성된 aab 파일을 Play Console 에서 업로드 하면 정상적으로 등록 됩니다.

LIST