번들 만들기
App Icon
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에 생성된다.