티스토리 뷰

반응형

배포 앱을 테스트를 하기 위해서 매번 구글 플레이에 올릴 수도 없기 때문에 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 파일이라는 이름으로 생성된다. 이걸로 테스트가 가능하다.

 

반응형