오늘은 React Native 으로 만든 App을 구글 플레이스토어에 등록하는 작업을 해보겠습니다.
모든 작업은 Chat GPT의 도움을 통해서 진행했습니다.
그럼 바로 시작하죠.
위 버튼을 통해서 플레이 스토어 콘솔창으로 이동합시다.
계정이 현재 생성된 상태가 아니라면 위와 같은 페이지가 나타날 것입니다.
해당 구글 계정이 어떤 기관 소속 계정인지, 그것이 아니라면 개인으로 진행하는 계정인지에 따라서 섹션이 구분되어 있습니다.
저는 이쪽을 따라서 진행하겠습니다.
Get Started 이후로는 쭈욱 개인정보들을 입력하는 형태입니다.
어려울 것 없이 필요한 정보들을 넣어서 진행해주세요.
이때 마지막 단계에서 휴대폰 번호 인증을 받아야 할 때가 있습니다.
지역번호를 직접 입력을 해야 하는데요, +82를 앞에 넣되 010 으로 시작한다면 이를 10으로 바꿔서 넣어야 합니다.
이것 주의해서 마지막까지 넘어가면…
이런 화면이 나타납니다.
25 USD가 필요하네요.
이를 결제할 수 있는 수단을 등록합시다.
이후 결제를 완료하면…
이런 화면을 볼 수 있습니다.
Create App 버튼을 누르면 다음과 같이 내가 생성할 App 정보들을 입력 가능합니다.
App name 의 경우 변경이 가능은 하지만, 실제 변경까지 1~2일에 시간이 걸립니다.
한 번 생성할 때 잘 선택해주세요.
PS C:\Users\user\FirstProject>
예를 들어 위와 같은 폴더 내부로 App 구축 파일들을 갖췄다고 생각하겠습니다.
해당 디렉토리 내부에는 android 폴더도 있고, App 폴더도 있고 여러 폴더가 있겠지요?
이때 android 폴더로 이동할 겁니다.
cd android
위와 같이 이동을 해주세요.
이때 android/app/build.gradle 내부에 release 설정이 되어 있는지 확인을 해야 합니다.
release {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
위와 같은 Block 이 있는지 확인을 해야 합니다.
아마 처음 릴리즈를 하는 거라면 없겠지요?
위 블럭을 그대로 복사합시다.
android {
....
signingConfigs {
release {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
debug {
....
}
}
}
그리고 android { } 내부에 있는 SigninConfigs { } 를 찾아주세요.
그 내부에 복사했던 release { } 을 넣어주면 됩니다.
keytool -genkey -v -keystore my-release-key.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias
이후에 위와 같은 명령어를 통해서 keystore 파일을 생성합시다.
비밀번호, 이름, 조직 이름 등을 입력하라는 프롬프트가 표시가 되는데요.
잊지 않을 만한 정보들을 넣어서 진행합시다.
특히 패스워드는 꼭 기억하세요.
생성된 .keystore 파일을 android/app 디렉토리로 저장합시다.
MYAPP_UPLOAD_STORE_FILE=my-release-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=your-store-password
MYAPP_UPLOAD_KEY_PASSWORD=your-key-password
android/gradle.properties 파일에 위 내용을 끝에 추가해서 저장해주세요.
이때 key_Alias 와 pssword 는 처음 키를 생성할 때 입력했던 정보로 바꿔주세요.
android {
signingConfigs {
release {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
debug {
storeFile file('debug.keystore')
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
}
}
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
// Use release signing configuration
signingConfig signingConfigs.release
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
}
그리고 아까 release 블럭을 signingconfigs 블럭 내부에 넣었죠?
마찬가지로 buildTypes 블럭을 찾고 그 내부에 release 블럭이 위와 같은 정보로 입력되게 합시다.
cd android
./gradlew assembleRelease
android 디렉토리로 이동한 상황에서 바로 위에 있는 명령어를 입력하면 APK 파일 생성이 시작 됩니다.
android/app/build/outputs/apk/release/app-release.apk
위와 같은 경로 내부에 apk 파일이 생성된 것을 확인 가능합니다.
좀 기다리면 이런 메시지가 콘솔창에 나타날 겁니다.
위와 같이 알집 모양으로 APK 파일이 생성이 된 것을 확인 가능합니다.
이 APK 파일을 그대로 안드로이드 폰에서 다운로드 하시면 앱을 실행 가능합니다.
이를 통해 실제 폰에서 어떻게 동작하는지 확인이 가능하십니다.
요걸로 즉시 베포가 가능하겠죠?
그렇다면, 실제 베포를 위해 AAB 파일도 만들겠습니다.
APK 파일을 만들기 위한 명령어를 입력했던 위치 그대로에서…
./gradlew bundleRelease
위 명령어를 실행합니다.
그렇게 되면 android/app/build/outputs/bundle/release/app-release.aab 경로에 AAB 파일이 생성되는 것을 확인 가능합니다.
다음과 같이 AAB 파일이 생성된 것을 볼 수 있습니다.
이제 이거를 베포를 해보겠습니다.
베포에는 공개 베포와, 테스트 베포 두 개가 있는데요.
공개 베포를 위해서는 우선적으로 테스트완료가 되어야 합니다.
어차피 방식은 동일하니까, 테스트 베포 단계까지 설명하겠습니다.
왼쪽 대쉬보드에서 “Test and release” 버튼이 있는 것을 볼 수 있습니다.
저걸 눌러주세요.
여기에서 “Testing” 버튼을 열어주고 “Internal Testing” 을 클릭합시다.
그럼 위와 같은 화면이 나타납니다.
여기서 App bundles를 놓는 위치가 있죠?
저기에 업로드 버튼을 눌러서 생성한 AAB 파일을 업로드 하면 됩니다.
이런 식으로 나타났다면 성공 입니다.
아래쪽에 App 정보를 적어주고 Next 버튼을 눌러서 진행하면 됩니다.
이렇게 우리가 직접 React-Native CLI 로 만든 APP을 베포할 수 있는 단계를 알아봤습니다.
여기까지 봐주신 분들 정말 감사합니다.^^