Notice
Recent Posts
Recent Comments
Link
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- sharedFlow
- 코딩테스트
- Build variants
- NavHost
- XML
- Flow
- coroutine
- Kotlin
- Compose
- 알고리즘
- DiffUtil
- 코틀린
- UiState
- 클린아키텍처
- 커스텀뷰
- 리사이클러뷰
- 로그인
- 파이어베이스
- 플레이스토어
- MVVM
- 안드로이드
- Authentication
- 컴포즈
- ListAdapter
- 뷰
- cleanarchitecture
- 회원가입
- Android
- Jetpack
- NavController
Archives
- Today
- Total
Grusie 안드로이드 개발 기술 블로그
[Android] aab파일 apk로 변환하여 테스트하기 본문
728x90
반응형
SMALL
개인이나 사이드프로젝트를 진행하면서는 사용해 본 적이 없으나, 회사 프로젝트를 진행할 때, 업데이트를 테스트 하거나 이전 버전이 필요한 경우가 있어서 사용하게 되었다.
사실 svn에 버전별로 commit해두어서 버전을 바꾸어 빌드할 수도 있으나, aab파일을 물리 보관하고 있기 때문에 aab를 apk로 변경해서 하는 것이 더 수월하다.
우선 기본 세팅을 몇 개 해야할 게 있다.
1. bundletool 다운로드
https://github.com/google/bundletool/releases
aab -> apks로 변환 후, 기기에 설치하기 위한 bundletool을 다운로드 해야한다. 회사에서는 1.6.0버전을 사용중이나, 최신 버전을 사용해도 문제가 되지 않는다.
2. 자바가 설치 되어 있어야 한다.
안드로이드 개발자라면 당연히 설치되어 있을 것이라 생각한다.
3. bundle tool가 있는 폴더 위치에 aab를 이동시킨다.
사실 파일 경로를 입력해도 괜찮으나, 명령어가 길어지는 게 싫으니 같은 폴더에 만들고 추 후 옮기는 방향으로 하려고 한다.
4. aab파일에서 apks 파일 추출
하단의 명령어를 사용하여, aab파일을 apks 파일로 변경할 수 있다.
java -Xmx1G -jar bundletool-all-1.6.0.jar build-apks --bundle=[aab_name].aab --output=[apk_name].apks --ks=[key_store] --ks-pass=pass:[keystore_password] --ks-key-alias=[alias] --key-pass=pass:[keystore_password]
5. 실기기 or 가상머신 연결 후 설치
하단의 명령어를 사용하여, 추출한 apks를 현재 연결되어 있는 기기에 설치가 가능하다.
java -jar bundletool-all-1.6.0.jar install-apks --apks="[output_apk_name]"
6. 연결이 되어있지 않다는 에러가 난다면, 하단 명령어로 기기 연결 상태를 확인하고, 적절한 조치를 취하자.
1. usb디버깅 허용
2. 화면이 켜져있는지 확인
3. usb 테더링 등 데이터 전송용으로 변경
adb devices
설치가 되었다면, 원하는 테스트를 진행하면 끝이다.
후기
이번에도 이전에 몇 번 활용해 봤던 내용이지만, 할 때 마다 찾아보는 것 같아 기록하게 되었다.
이제 다시 보니 어떤 내용들이 필요한지 훤히 보이는 것 같아 만족스러웠다.
반응형
LIST
'안드로이드 개발' 카테고리의 다른 글
[Android] Debug / Release 분리해서 작업하기 (0) | 2024.07.10 |
---|---|
[Android] Build Variants로 개발단계에서 release 버전 테스트 하기 (0) | 2024.07.04 |
[Android] 뷰모델에 런타임 오브젝트 의존성 주입하기(@AssistedInject) (1) | 2024.06.26 |
[Android] 이미지 저장 및 삭제 로직 공유 (1) | 2024.06.14 |
[Android] 커스텀 갤러리 만들기(이미지 불러오기, 다중 이미지 선택) (0) | 2024.05.27 |