코딩스토리

[Android/안드로이드] 앱 APK 추출하기 본문

Android/유용한 기술

[Android/안드로이드] 앱 APK 추출하기

라크라꾸 2020. 2. 27. 13:22

안드로이드 스튜디오에서 코딩을 하고나서 친구들에게 설치파일을 준다거나, 구글 플레이스토어에 업로드를 해아하는 경우가 있습니다.

그럴 때 안드로이드스튜디오에서 apk파일이나 aab파일을 생성해서 보내주면 됩니다.

 

APK란?

APK는 안드로이드 애플리케이션의 확장자로, Android PacKage의 줄인말입니다. 안드로이드에서는 앱을 설치하기 위해서 APK 파일을 사용하고 , Zip 형식의 압축파일로 되어 있으며 인증을 위해 서명(Sign)이 추가되어 있습니다.

 

AAB란?

AAB는 ANDROID APP BUNDLE 로, APK와 비슷하지만 모든 코드, 리소스, CPU 아키텍처와 메타데이터를 압축한 zip파일입니다. IOS의 appthinning과 비슷한 목적을 가진 기능으로써 구글에서 패키지의 용량을 감소시켜 효율적인 앱 서비스 운영을 위해 제안하는 모델입니다. Google Play는 App Bundle에서 사용자가 기기에 필요한 코드와 리소스만 선택해 빌드될 수 있게 만들었습니다.

AAB의 장점은 다음과 같습니다.

 

- 사용자가 앱을 다운 받을시 앱의 다운로드 크기와 디스크 할당 크기가 감소.
- 사용자의 기기 대신 APK에 저장되는 압축되지 않은 기본 라이브러리를 사용하여(Android 6.0 이상) 다운로드 크기, 디스크 할당 크기, 설치 시간 감소.
- 사용자에게 필요한 기능 및 설정을 설치 중이 아닌 사용자가 요청할 때 제공.
- 여러 개의 APK를 빌드하고 게시할 필요가 없어 효율적인 빌드 및 출시 관리.

 

APK추출방법

1. 상단 메뉴바를 보면 Build를 클릭하면 다음그림과 같이 나옵니다. Generate Signed Bundle / APK... 을 클릭해줍니다.

 

 

 

 

2. 여기서 aab의 형태로 추출할지, apk의 형태로 추출할지를 설정합니다. 

 

 

 

3. 키 스토어의 경로를 만들어줘야합니다. Create new...를 클릭하고 apk를 만들기 위한 키스토어의 경로를 설정해줍니다.

 

 

 

4. 여기서 키스토어 경로를 설정해주고, 그 외 값들을 입력해줍니다.

 

 

 

4.1

맨 위에 Key store path는 키스토어가 들어있는 jks파일의 경로입니다.

그리고 그 밑에 Key store password 는 jks 파일의 비밀번호를 입력합니다.

Alias - apk 파일 별명

password - apk key 비밀번호

validity (year) - 사용기간

Fist and Last Name - 개발자 이름

Organizational Unit - 개발소속 단위

Organization - 개발기관

City or Loclity - 지역

State or Province - 상세 주소

Country Code (XX) - 국가코드 2글자

다 입력하셨으면 OK버튼을 눌러줍니다.

 

 

 

5. 처음 들어왔던 창에 값이 입력이 된 상태로 나오게 됩니다. Rememver passwords는 다음에 해당 프로젝트를 다시 APK파일로 추출을 하할 때 필요합니다. 비밀번호를 다시 치기가 귀찮다 싶으면 체크를 해주시고, 보안에 문제가 되 불안하다 싶으면 해제해주시면 됩니다.   Next버튼을 눌러줍니다.

 

 

 

6. Destination Folder에 APK파일을 받을 경로를  선택해주고, Build Variants에는 release를 선택해줍니다.

안드로이드 7.0부터는 v2의 새로운 서명 방식이 사용가능합니다. android studio 2.2 이상을 사용하고 계신다면 apk 파일을 만들때 다음과 같은 화면이 나옵니다.  Signature version을 선택해야합니다. 기존의 서명은 v1이고, 안드로이드 7.0부터 지원되는 서명은 v2입니다.

두가지 모두 체크하면 두가지 모두를 지원할 수 있고, v2만 체크하게되면 v1에 지원하는 플랫폼에서 정상적으로 설치가 되지 않기 때문에 가급적이면 둘 다 체크하는게 좋다고 생각합니다.

 

 

 

7. 이제 apk파일을 저장한 경로로 들어가 확인을 해보시면 됩니다.

 

Comments