사람들이 많이 사용하는 상용 앱의 APK 파일을 추출하는 방법은 다양한데, 그 중 ADB를 이용해 추출하는 방법을 정리해봄.
⚠️ MAC 기준으로 작성함.
1. ADB 설치
1) Android Studio 설치
Android Studio를 설치했다면 ADB를 별도로 설치할 필요가 없음.
2) Homebrew로 설치
homebrew가 설치되어있다면 아래의 명령어 중 하나를 선택하여 실행하면 됨.
brew cask install android-platform-tools
brew install --cask android-platform-tools
3) Android SDK 설치
SDK 플랫폼 도구 출시 노트 | Android Studio | Android Developers
Android SDK 플랫폼 도구는 Android SDK의 구성요소입니다.
developer.android.com
위 링크로 이동 후 해당 페이지에서 Download SDK Platform-Tools for Mac 클릭하여 다운로드
다운로드한 압축 파일을 해제한 후 열어보면 adb가 있는데 더블 클릭하여 실행하면 됨.
4) ADB 설치 확인
adb version
# 정상 출력 예시
Android Debug Bridge version 1.0.41
Version 33.0.3-8952118
Installed as /Users/username/Library/Android/sdk/platform-tools/adb
5) ‘zsh: command not found: adb’ 오류
ADB 환경 변수가 설정되지 않아서 발생하는 것으로 환경 변수에 추가하면 됨.
- 터미널 열어서 vi 편집기 실행
vi ~/.zshrc
- i 눌러 아래 내용 추가 후 esc 누르고 :wq 입력해서 변경 내용 저장
# ADB
export ANDROID_HOME=/Users/사용자계정/Library/Android/sdk # Android sdk 설치 경로
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/build-tools/35.0.0 # 설치되어있는 버전
- 저장 내용 반영
source ~/.zshrc
2. APK 추출해보기
예시로 본인은 본인이 잘 사용하는 ‘지하철종결자’ 앱을 추출해보겠음.
Android Studio 실행 → 에뮬레이터 실행 → 추출할 어플 설치
adb shell pm list packages -f # 설치 된 모든 앱 출력
adb shell pm list packages -f | grep "패키지 명" # 특정 패키지 명이 포함되어 있는 리스트 출력
에뮬레이터에 설치되어 있는 앱 리스트 출력하여 추출할 패키지 명을 찾아봄.
adb shell pm list packages -f | grep -vE 'com\\.android\\.|com\\.google\\.'
리스트 전체를 찾아보기엔 너무 많고 특정 패키지 명을 검색하기엔 유추되는 키워드가 없다면
위 명령어를 사용하여 android, google 관련 패키지를 제외시키고 찾아보거나
Device Explorer 메뉴에서 /data/data/ 폴더에서 com.google.이나 com.android. 제외한 폴더들을 찾다보면 쉽게 찾을 수 있음.
검색 결과 ‘지하철종결자’의 패키지 명이 “teamDoppleganer.SmarterSubway”임을 확인.
위 결과 중 ~==/base.apk 까지의 경로를 복사.
adb pull 기존 설치 된 패키지 추출할 경로 및 apk 이름
# 예시
adb pull /data/app/~~yjChTAMrn3a0lyAXHYWSmQ==/teamDoppelGanger.SmarterSubway-jr478f3mCYBikQeZ1gkF0Q==/base.ap subway.apk
apk 추출. 추출할 경로를 따로 입력하지 않는다면 adb가 존재하는 폴더에 apk가 떨궈짐.
추출 결과
'mobile > android' 카테고리의 다른 글
Android 정렬 (Feat. zipalign) (0) | 2025.03.23 |
---|---|
APK 파일 구조 (3) | 2025.01.07 |
Android Build Process (1) (2) | 2025.01.04 |