번들 만들기

App Icon

App Icon 만들기 사이트open in new window

KeyStore 만들기

아래 명령어를 사용해서 key를 먼저 생성해준다.

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

물어보는 질문에 모두 대답하고 마지막에 y를 적어주면, key.jks 파일이 만들어진 경로를 알려주고 끝난다.

앱으로부터 Keystore 참조하기

android > app 경로에 key.jks 파일을 넣어주고,

android > app 경로에 keystore 참조에 대한 구성을 담은 key.properties 파일을 생성해서 아래와 같은 코드를 입력하면 된다.

storePassword=<키생성시 입력한 암호>
keyPassword=<키생성시 입력한 암호>
keyAlias=key
storeFile=./key.jks

Gradle에서 서명 구성하기

앱의 서명을 구성하기 위하여 android > app > build.gradle을 수정해줄 차례이다.

첫번째, android { ... } 위에 아래의 코드를 추가해서 keystore 정보를 가져올 수 있도록 해준다.

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

두번째, buildTypes 블럭을 아래 코드로 대체해준다. (debug -> release)

   signingConfigs {
       release {
           keyAlias keystoreProperties['keyAlias']
           keyPassword keystoreProperties['keyPassword']
           storeFile file(keystoreProperties['storeFile'])
           storePassword keystoreProperties['storePassword']
       }
   }
   
   buildTypes {
       release {
           signingConfig signingConfigs.release
       }
   }

앱 id 바꾸기

기존의 com.example를 그대로 사용하면 에러가 발생한다.수정하고 빌드해야 한다.

release 앱 번들 빌드하기

flutter build appbundle

앱의 릴리즈 번들은 (app-release.abb)
플러터 프로젝트/build/app/outputs/bundle/release path에 생성된다.