Flutter 앱번들 - bundletool 사용하여 기기테스트

 이 문서를 보고 따라했다. 막히는 부분을 해결한 기록이다.

App bundle 다운로드

솔직히 여기부터 막혔다. jar 파일은 있는데 어떻게 실행하라는 것인지. 정답은 서칭 뿐.

자바를 실행하고 아래 명령어를 실행한다.

java -jar ./bundletool-all-1.14.0.jar version

현재는 1.14.0 버전인데 버전이 다를 경우 파일명을 다르게 해준다. 실행파일의 주소 역시 맞춰줘야 한다.

실행이 확인되면 alias로 bundletool을 사용하기 쉽게 설정한다.

> alias bundletool='java -jar ./bundletool-all-1.14.0.jar'

잘 실행됐다면

bundletool version

명령어를 통해 alias 지정 여부를 잘 확인한다. 나는 ./ 상대경로로 하니 다른 경로에서 안 먹히는 경우가 생겼다. 절대경로로 다시 지정해줬다.

추가

alias를 이후에도 계속 사용하고 싶다면 아래 코드를 통해 alias를 시스템에 저장하자

1
2
3
4
5
6
echo "alias bundletool='java -jar /d/FlutterProject/bundletool-all-1.14.0.jar'" >> ~/.bash_profile  //alias를 시스템 파일에 저장한다.
cat ~/.bash_profile    //alias 저장 확인
source ~/.bash_profile   // 해당 내용 적용
bundletool version  //잘 적용됐는지 확인

 
cs

App bundle로 APK set 생성

링크의 설명대로 App bundle에서 APK를 만들어준다.

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
위와 같이 간단한 명령어만 써주면 된다.
/Myapp/ 경로를 일일히 써주기가 귀찮다면 해당 경로로 가서  파일명만 넣고 실행해주면 된다.

디버그 키 서명이 싫을 경우 아래 코드를 쓰라고 하는데
bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
--ks=/MyApp/keystore.jks
--ks-pass=file:/MyApp/keystore.pwd
--ks-key-alias=MyKeyAlias
--key-pass=file:/MyApp/key.pwd
나는 열심히 썼지만, 생각해보니 Google Play store 배포는 aab 파일로 할거라면 굳이 서명 안해도 될 것 같다. 쓰다가 뭔가 기능 이상이 있거나 하면 시도해보자.

링크를 잘 보면 연결된 기기에 따라 apk를 뽑아주는 명령어들이 있다. 상황에 맞게 사용하자.

연결된 디바이스에 APK 배포

bundletool install-apks --apks=/MyApp/my_app.apks

app bundle을 이용하여 테스트
잘 다운된 것을 확인할 수 있다.



댓글

이 블로그의 인기 게시물

Box Tengo. Private Policy (iOS)

Value Calculator Privacy Policy

Unity meta파일 필요성과, VSC에서 숨기기