티스토리 뷰
배포 앱을 테스트를 하기 위해서 매번 구글 플레이에 올릴 수도 없기 때문에 apk 추출이 반드시 필요하다.
이를 위해 Android에서는 bundle utility를 제공하는데 이 유틸리티를 이용하면 기존에 테스트 하던 apk를 추출할 수 있다.
Android App Bundle 가이드에서는 안드로이드 스튜디오를 이용하는 방법과 커맨드 라인을 이용하는 방법 두가지를 안내하고 있는데, 테스트하는 인원이 모두 안드로이드 스튜디오를 설치해야 하는 번거로움이 있고 사용상의 어려움이 있을 수 있기 때문에 여기서는 커맨드 라인으로 apk를 추출하여 배포하여 테스트 하는 방식을 확인하고자 한다.
1. Bundle tool 설치를 한다.
Bundle tool은 현재 최신 버전은 bundletool-all-1.8.2.jar이다. gitHub저장소에서 이 파일을 다운 받아 적당한 위치에 저장한다.
- https://github.com/google/bundletool/releases
그리고 아래와 같이 커멘드(CMD.exe)에서 실행 가능한지 테스트해보자.
java -jar "bundletool-all-1.8.2.jar"
이후 서명된 aab파일(buildFile.aab)에서 apk 추출을 해보자.
2. 아래와 같이 명령어로 입력한다.
java -jar "bundletool경로" build-apks --bundle="aab파일" --output="결과파일경로" --ks="키스토어경로" --ks-key-alias=키스토어 alias이름 --mode=universal |
--bundle: aab 파일 경로
--output: 결과 파일 경로
--ks: 키스토어 경로
--ks-key-alias: 키스토어 알리아스 이름
--mode=universal : 앱의 코드와 리소스가 모두 포함된 단일 APK만 빌드하는 모드
예제)
java -jar "F:\3. Android Studio\lib\bundletool-all-1.8.2.jar" build-apks --bundle="build\buildFile.aab" --output="build\result.apks" --ks="keystore" --ks-key-alias=Test.keystore --mode=universal |
최종 result.apks 파일이 추출된다.
3. result.apks파일을 zip파일로 변경 또는 7z으로 압축을 해제한다.
압축을 풀면 파일 안에 universal.apk 파일이라는 이름으로 생성된다. 이걸로 테스트가 가능하다.
'IT > Mobile' 카테고리의 다른 글
[AndroidStudio] Failed to apply plugin [id 'com.android.application'] 오류 (0) | 2022.07.27 |
---|---|
안드로이드 SDK 번호와 버전 정리 (0) | 2022.03.21 |
네이티브앱(native App) vs 하이브리드앱(Hybrid App) vs 모바일웹앱 (Mobile WebApp) (0) | 2021.06.30 |
- Total
- Today
- Yesterday
- Error
- 오류
- 엣지깔끔하게
- 운영체제구성#스케줄링#큐#프로세스#쓰레드#태스터#OS구성
- webdriver
- 파이썬
- 오블완
- 윈도우오류
- 프레임워크오류
- PythonSyntaxError
- 파이썬오류
- 닷넷프레임워크오류
- aws공부
- 정보보안
- NETFramework오류
- seleniumerror
- 버그
- NETFramework3.5
- 0x800F0950
- selenium
- nomodulename
- Python
- 설치오류
- 자격증공부
- 티스토리챌린지
- error1045
- 셀레니움오류
- 프레임워크3.5설치불가
- 셀레니움
- noudelnoutfounderror
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |