반응형

Flutter로 만든 앱을  구글 플레이 콘솔에 출시하기 위해서는 서명을 하고 빌드하여야만 파일을 업로드 할 수 있습니다.

 

아니면 이러한 메세지가 발생합니다.

디버그 모드로 서명한 APK 또는 Android App Bundle을 업로드했습니다. 출시 모드로 APK 또는 Android App Bundle에 서명해야 합니다

 

그 방법에 이야기해 보겠습니다.

 

 업로드 키 준비

빌드하기 전에 업로드 키를 만들고 서명할 준비를 합니다.※ 업로드 키로 서명하는 방법은 기존의 앱 서명 방법과 다르지 않습니다.

여기에서 서명한 내용이 처음 Play 스토어에 등록했을 때 업로드 키로 저장됩니다.

(1) 인증서 작성

jks파일을 만들고 만들기

터미널이나 커맨트 창에

keytool -genkey -v -keystore release.jks -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

위가 같이 입력합니다.

입력하라는 내용이 나오는데 적당히 입력해줍니다.

패스워드는 반듯이 기억하고 어딘가에 기록해둡니다.

만든 release.jks다음 android/app아래에 놓습니다

2) 서명 정보 파일 작성

 

android폴더아래에 keystore.properties 파일을만듭니다.

keystore.properties
 

 

storePassword=비밀번호
keyPassword=비밀번호
keyAlias=alias_name
storeFile=release.jks

 

(3) build.gradle 편집

app/build.gradle <- 이 파일입니다.
app/build.gradle
 
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

// 추가
def keystorePropertiesFile = rootProject.file("keystore.properties") 

android{
   ...

    defaultConfig {
        ...
    }

    // 이하를 추가
    signingConfigs {
        release {
            if (keystorePropertiesFile.exists()) {
                def keystoreProperties = new Properties()
                keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            }
        }
    }
    // 추가는 여기까지

    buildTypes {
        debug {
            ...
        }
        release {
            resValue "string", "app_name", "앱이름"

            // 다음 라인을 추가 혹시 디버그가 있으면 대체합니다.
            signingConfig signingConfigs.release
        }
    }
 ...
}
 
이제 빌드를 다시하여 생성된 파일을 업로드 하면 정상적으로 업로드 가능합니다.
반응형

+ Recent posts