앱을 출시하기 위해서 빌드를 해야한다.
keytool
로 업로드 키를 생성한다.
my-upload-key.keystore
와 my-key-alias
는 변경해도 된다.
$ keytool -genkeypair -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
android/gradle.properties
에 다음을 추가한다.
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=*****
MYAPP_UPLOAD_KEY_PASSWORD=*****
android/app/build.gradle
에 다음을 추가한다.
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...
- 릴리스용 APK를 생성한다.
$ cd android
$ ./gradlew bundleRelease
andorid/app/build/outputs/bundle/release
에 app.aab
로 생성된다.
- CPU 아키텍처별로 APK를 생성한다.
...
def enableSeparateBuildPerCPUArchitecture = true
...
./gradlew assembleRelease
를 실행하면 CPU 아키텍처별로
andorid/app/build/outputs/apk/release
에 APK가 생성된다.
android/app/build.gradle
에 다음을 변경하면 파일 크기를 줄일 수 있다.
...
def enableProguardInReleaseBuilds = true
...