기본 콘텐츠로 건너뛰기

Android | adb를 사용하여 안드로이드 디바이스(device)나 에뮬레이터(emulator)에 파일 전송


🚀 adb를 사용한 안드로이드 디바이스 · 에뮬레이터 파일 전송 방법 (adb push / pull)

Android Debug Bridge(adb)로 파일을 옮기는 가장 확실한 절차를 한 번에 정리




(최종 업데이트: 2025년 12월 23일)

안드로이드 앱 개발을 하다 보면 테스트 이미지, JSON, DB, 로그 파일 등을 디바이스(device)나 에뮬레이터(emulator)로 복사하거나, 반대로 디바이스에서 PC로 가져와야 할 때가 많습니다.

이럴 때 가장 범용적이고 확실한 방법이 Android Debug Bridge(adb) 명령어입니다.

공식 문서: https://developer.android.com/studio/command-line/adb

💡 SEO 키워드
adb, Android Debug Bridge, adb push, adb pull, adb shell, run-as, 안드로이드 파일 전송, 에뮬레이터 파일 복사


📤 PC → 안드로이드 디바이스/에뮬레이터로 파일 보내기

앱 내부 저장소는 보안 정책 때문에 직접 접근이 제한되는 경우가 많습니다. 그래서 실무에서는 /sdcard 경로를 중간 저장소로 쓰는 패턴이 가장 안전합니다.

🚗 1) adb push (PC → /sdcard)

개발 장비(PC)에서 디바이스의 /sdcard 경로로 파일을 복사합니다.

adb push photo.jpeg /sdcard/

⚡ 2) adb shell (디바이스 쉘 접속)

현재 연결된 디바이스(또는 에뮬레이터)의 쉘로 들어가 파일 경로를 확인하거나 복사 명령을 실행합니다.

adb shell

📍 /sdcard 경로 확인 예시
아래 이미지처럼 쉘에서 /sdcard 디렉터리를 확인하고 파일이 들어왔는지 점검할 수 있습니다.

🔐 3) run-as (앱 권한으로 내부 저장소 접근)

디버그 빌드된 앱이라면 run-as [패키지명]으로 해당 앱의 권한으로 내부 저장소 경로에 접근할 수 있습니다.

run-as com.example.app

📌 패키지명 확인
패키지명은 AndroidManifest.xml에서 확인할 수 있습니다.

📂 run-as 실행 후 경로
run-as를 실행하면 앱 저장소(샌드박스) 경로로 이동된 상태가 됩니다.

🧩 4) /sdcard → 앱 저장소(files/)로 복사

이제 /sdcard에 있는 파일을 앱 내부 저장소로 옮깁니다. 일반적으로 앱에서 접근하기 쉬운 files/ 폴더로 복사합니다.

cp /sdcard/photo.jpeg files/

복사 결과 확인
아래 이미지처럼 files/ 경로에 파일이 정상 복사되었는지 확인할 수 있습니다.


📥 안드로이드 디바이스/에뮬레이터 → PC로 파일 가져오기

디바이스의 /sdcard 경로에 있는 파일은 adb pull로 바로 가져올 수 있습니다. 만약 앱 내부 저장소에 파일이 있다면, 먼저 /sdcard로 복사한 뒤 pull 하는 방식이 일반적입니다.

📦 1) adb pull (디바이스 → PC)

adb pull /sdcard/photo.jpeg .

💡 TIP
adb shell 또는 run-as 상태라면 exit로 빠져나온 후 adb pull을 실행하세요.
(쉘 안에서는 adb 명령이 실행되지 않습니다.)


adb 파일 전송은 안드로이드 개발에서 가장 기본이면서도 실무에서 자주 쓰는 필수 스킬입니다.

필요하면 다음 글에서 여러 디바이스 연결( -s ), 무선 adb, 권한 이슈까지 확장해서 정리해도 좋습니다.


썸네일
React Native | 이미지에서 얼굴인식(Face Detection) 하기
Face Detection, Face Recognition

댓글