-
[React Native] mac에서 bundletool 사용법Frontend/React Native 2024. 8. 28. 15:46
bundle tool 사용법
할 때마다 까먹고 찾는거 번거로워서 한번에 써둔다.
Android aab 파일 생성하기
npx react-native build-android --mode=release우선 터미널에서 해당 명령어를 실행하여 빌드 + aab 파일을 생성해준다.
위에 파일은android/app/build/outputs/bundle/release/app-release.aab에 위치하고 있다.(* 공식 react navtive Docs 기준)
bundletool 사용
bundletool을 다운받는다.
Github 저장소 해당 링크에서 다운받을 수 있다. (구글 공식)터미널을 실행한 후 다운로드 받은 폴더로 이동한다.
이후 아래와 같이 작성한다.
java -jar "./bundletool-all-1.16.0.jar" version제대로 작동한다면 해당 버젼이 뜬다.
현재 글을 작성하는 시간 기준으로 가장 최신 버젼은 1.17.1이였으나 내가 다운받아 사용할 땐 1.16.0이 최신이였기 떄문에
예제 또한 1.16.0이다.
사용하는데 있어서는 전혀 지장은 없다. 그래도 왠만하면 최신쓰자.이후 매번 작성하기 번거로우니 아래와 같이 터미널에 추가로 작성읋 해준다.
alias bundletool='java -jar ./bundletool-all-1.16.0.jar'이제 bundletool이라고만 써도 사용가능해졌다.
bundletool version위에 명령어로 버젼이 제대로 나오는지 확인해보자.
위에 명령어처럼 버젼이 잘 나온다면 잘된거다.다만 터미널을 종료한다면 이 귀찮은 짓을 또 해야하니 아싸리 고정을 시켜버리자.
~/.zshrc에 환경변수로 바꾸면 된다.
vi ~/.zshrc터미널에 위와 같이 작성하여 들어간 후 맨 밑에 줄에 i를 눌러 수정모드로 변환한 후에 아래 내용을 작성한다.
alias bundletool='java -jar ~/해당경로/bundletool-all-1.16.0.jar'다 작성을 하였다면 esc를 누른 후 :wq 로 빠져나오자.
왜 이렇게 하냐고 묻는다면 그냥 vi 사용법을 검색해서 보면 된다.
저장하기싫고 무서워서 그냥 일단 빠져나오고 싶으면 :q 로 빤스런하면 된다.aab -> apks 변환
이제 본격적으로 aab를 apks로 변환해보자.
bundletool build-apks --bundle=./app-release.aab --output=./universal.apks --ks=./my-upload-key.keystore --ks-key-alias=my-key-alias --ks-pass=pass:비번작성 --key-pass=pass:비번작성 --mode=universal일단 위와 같이 작성을 해줘야 apks 파일이 생성이 된다.
그리고 keystore도 만들어야되는데.... 이건 예전에 만들어둔게 있어서 계속 사용하다보니 만드는법을 까먹었다.
일단 귀찮으니 넘어가고 다음에 다시 작성을 해야겠다. 하지만 절대 안하겠지설명이다.
--bundle=./app-release.aab
- 변환하고 싶은 aab파일을 위치와 파일 이름으로 지정해준다.--output=./universal.apks
- 변환하는 위치와 이름을 지정한다.--ks=./my-upload-key.keystore
- keystore 만들고 나서 사용할 ks의 위치를 지정해준다.--ks-key-alias=my-key-alias
- ks의 별명이라는데 이거 작성안하면 위에 ks랑 세트라고 안되면서 에러난다. 걍 대충 아무 이름 갈겨주자.--ks-pass=pass:비번작성
- 역시나 ks 만들떄 작성하는 비번 써주면 된다.
--key-pass=pass:비번작성
- 위에랑 뭔차이인지 까먹었다. 난 그래서 두개 비번 같은거로 통일했다.--mode=universal
- 변환한 피일의 타입인데 universal로 지정해줘야 파일이 하나만 생성된다. 아마 지정을 안해주면 apk파일이 엄청 많이 생성이 되어서 이게뭔가 싶을거다. 나도 알고 싶지않았다.
뭐 이러면 대충 apks 파일까지 변환을 하였다.
하지만 여기서 끝이 아니다.apks는 압축된 폴더 개념이라 풀어줘야한다.
여기서는 다양한 명령어들이 존재하는 거 같은 데 난 그냥 제일 간단한걸로 한다. 다른방법은 몰?루?unzip ./universal.apks위와 같이 변환한 파일의 위치와 unzip 명령어를 입력해주면 압축이 풀리면서 드디어 바라던 apk 파일을 획득할 수 있다.
andrioid 기기에 install 하기
제일 간단한거는 걍 adb를 이용하는 것이다.
adb install ./universal.apk이렇게 명령어를 작성하면 바로
Performing Streamed Install 라는 글씨가 뜨면서 대기하게 된다.
대충 1분내지 길게는 3분가량 기다리다보면 Success 라는 글씨가 뜨면서 해당 기기에 install이 완료된다.당연한 소리지만 usb 연결을 한 상태여야하고 기기가 인식이 되어있어야 한다.
adb devices해당 명령어를 통해 연결이 제대로 됐는지 부터 확인하자.
adb자체가 안깔려있다면?? 얼른 adb 까는법 검색하고 와라.
끄읏
'Frontend > React Native' 카테고리의 다른 글
[error] Execution failed for task ':app:installDebug'. (0) 2024.05.23 [React Native] 환경설정 세팅 값 기록 (0) 2024.05.13