[ETC] EXPO를 통한 안드로이드 앱 패키징

2023. 3. 2. 14:43ETC

패키징 전, Expo 계정을 먼저 가입을 한다.

최신 EAS CLI 설치

npm install -g eas-cli

엑스포 계정에 로그인

eas login

엑스포 계정 로그인 이후 아래 커맨드로 로그인 여부를 확인할 수 있다.

eas whoami

패키징 하고자 하는 프로젝트 경로로 들어가 초기 세팅을 진행

expo init

app name을 입력 후 초기 세팅이 끝나면 해당 네임으로 디렉토리 하나가 생성 된다.

EAS Build용 Android 프로젝트를 구성하려면 아래 커맨드를 입력한다.

eas build:configure

App.js 로 들어가 react-native-webview 모듈을 통해 스플래시 스크린 이후 연결 시킬 도메인을 적는다.

생성 된 app name(bipa4) 디렉토리로 이동 후 빌드 커맨드 입력

eas build --platform android

Build details 도메인으로 접속해보면 아래와 같이 실시간 빌드 내역을 볼 수 있다.

Google Play Store에 올리기 위해서는 .aab 파일로 빌드해야한다. 하지만 .aab파일로는 스토어에 올리지 않는한 로컬 기기에 설치해서 테스트 해볼 수 없다. 따라서 .apk로 변환해주는 작업이 필요하다.

  1. 아래 Github주소로 들어가서 알맞는 버전을 다운 받는다.
  2. 터미널이나 명령프롬포트 창(cmd) 을 이용하여 아래 명령어를 넣어준다. bundletool-all-1.8.0 부분과 AAB파일이름.aab 부분을 알맞게 수정해준다.
java -jar "bundletool-all-1.8.0.jar" build-apks —bundle="AAB파일이름.aab" —output="universal.apks" —mode=universal

https://github.com/google/bundletool/releases

변환한 .apks 파일을 .zip 확장자로 변경 후 압축 해제하면 apk 파일을 추출 할 수 있다.

이제 생성 된 .apk 파일을 서명하겠습니다

keytool -genkey -v -keystore <임의파일명.keystore> -alias <임의별칭> -keyalg RSA -keysize 2048

생성 된 키스토어 확인

이제 생성한 키스토어로 아까 추출한 .apk 파일 서명을 진행 하겠습니다.

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore <생성한 keystore파일> <리패키징한 앱> <지정한 별칭>

정상적으로 서명이 됐는지 확인하려면, 아래 커맨드를 입력

keytool -printcert -jarfile [APK 파일 이름]

'ETC' 카테고리의 다른 글

[ETC] 트레일링 슬래시(trailing slash)  (0) 2023.07.27
[ETC] Axios interceptors  (0) 2023.07.15
[ETC] Pinata Sub Marined  (0) 2023.02.03
[ETC] 서버리스(Serverless)?  (0) 2022.12.07
[ETC] Debounce 와 Throttle 차이점  (0) 2022.12.06