Reactnative APK 파일 이해 및 구성, 실행 방법 Keystore

Reactnative APK 파일 이해 및 구성, 실행 방법 Keystore

지금 잘 사는 방법 NH농협 zgm.play지금플레이투플러스카드 월 할인한도 전월실적 30만원 미만일 시 상품서비스가 제공되지 않습니다. 놀이공원 할인 및 프리미엄 서비스는 각각 별도로 한도가 제공됩니다.


imgCaption0
fastlane 초기화

fastlane 초기화

먼저 fastlane을 설치합니다. sudo gem install fastlane NV

homebrew도 있지만, ruby가 권장되는 방법입니다. 어차피 flutter 개발하기 위해선 ruby도 가상머신으로 버전관리 하니 ruby로 해줍시다. 다음은 프로젝트의 android 폴더로 이동한 후 아래의 명령어를 수행합니다. fastlane init ackage name에는 flutter 프로젝트의 패키지 이름을 입력해주세요. 제 경우 con.gmail.wjlee611.arkhive 이 패키지 이름은 Play 스토어에 등록한 앱의 패키지 이름과 동일해야 합니다.

다운받고 폴더로 옮긴 json 파일 이름을 적어주면 됩니다.

troubleshoot

제 경우 Unsupported class file major version 64 에러를 마주했는데요, 해당 에러는 gradle version이 java 버전과 맞지 않을 경우에 발생하는 에러라고 하는데요, java 버전과 호환되도 발생하는 경우가 있습니다. 바로, flutter 라이브러리가 gradle 버전과 맞지 않는 경우입니다. 어떤 라이브러리가 gradle 버전과 맞지 않는지 확인하려면 android 폴더를 우눌러 Android studio로 열어주시고 sync되기를 기다립니다.

동기화가 완료되면 빨간글이 여럿 뜰텐데, 거기에 적혀진 라이브러리가 있을겁니다. 해당 라이브러리를 제거하고 다시 빌드하면 정상적으로 빌드되었습니다.

Fastlane

android, ios 모두 배포를 자동화 할 수 있으며, github action CDCI를 이용해서 전 과정을 자동화 할 수 있긴 합니다. . 만,

CDCI 구축시 비용이 청구되기에 fastlane만 사용합니다. 이것만으로도 아주 간편해짐 Google developer service account 생성 자동화를 진행할 봇 계정을 만들어주기 위해 아래 링크로 들어갑니다. 여기에서 서비스 계정에 이메일을 등록해야 합니다.

따라서 Google Cloud Platform으로 이동해서 먼저 서비스 계정을 생성해야 합니다. 아래의 링크로 들어가도 되고, Google Cloud Platform에서 보기를 클릭하셔도 됩니다. 여기에서 서비스 계정 만들기를 눌러줍니다.

local.properties option

보통 이 과정은 생략합니다. 단, fastlane을 이용한 배포 자동화를 이용할 때, 스토어 업로드 프로세스에서 버전 에러가 발생하면 이 파일을 확인해보도록 합시다. 여기에서 versionName, versionCode 가 변경되지 않았다면, 여기서도 수정해줍니다. 프로젝트 폴더에서 아래의 명령어로 프로젝트를 빌드합니다. flutter build appbundle 성공적으로 빌드되었다면 buildoutputsbundlereleaserelease.aab 로 파일이 생성됩니다.

Fastfile 수정

메타데이터는 제가 직접 등록하기에 관련 정보를 skip에 true로 설정합니다. 이제 android 폴더에서 fastlane beta 명령어를 입력하면 자동으로 빌드 및 스토어에 업로드 됩니다. 제가 본 가이드에선 deploy 명령어도 만들었는데, 제 개인적인 생각에는 해당 명령어는 사용하지 말고 무조선 내부 테스트로 업로드 하는것이 바람직 합니다. 나중에 프로덕션으로 버전 승급이 가능하기 때문이죠. 지금까지 프로젝트 빌드 및 업로드, 자동화까지 진행했습니다.

마지막으로 프로덕션 승급하는 법을 알아보겠습니다.

프로덕션 승급

출시된 버전을 확인하고 버전을 프로덕션으로 승급합니다. 사실 이게 답니다. 물론 여러 설정이나 정책을 확인해야 하는 절차가 남았지만, 해당 과정은 google play console 대시보드의 내용을 잘 따라가면 충분히 혼자 하실 수 있습니다. 지금까지 앱을 개발하고 배포까지 진행해봤습니다. 하지만 진실한 개발자라면 마지막 한 단계를 진행해야 멋있겠죠. 바로 github에 태그를 등록하는 것 릴리즈 태그를 등록하면 옆에 Release에 그 내용이 표시가 되고, 태그가 달린 버전의 소스코드가 다운로드 가능한 상태로 아카이빙됩니다.

단, 태그를 붙이고 수정은되도, 제거하기는 쉽지 않으니 조심스럽게 달아줍시다.

자주 묻는 질문

fastlane 초기화

먼저 fastlane을 설치합니다. 좀 더 자세한 사항은 본문을 참고하시기 바랍니다.

troubleshoot

제 경우 Unsupported class file major version 64 에러를 마주했는데요, 해당 에러는 gradle version이 java 버전과 맞지 않을 경우에 발생하는 에러라고 하는데요, java 버전과 호환되도 발생하는 경우가 있습니다. 궁금한 내용은 본문을 참고하시기 바랍니다.

Fastlane

android ios 모두 배포를 자동화 할 수 있으며, github action CDCI를 이용해서 전 과정을 자동화 할 수 있긴 합니다. 좀 더 자세한 사항은 본문을 참고해 주세요.