-
ADB 기본 명령어 및 명령어를 활용한 앱 설치 자동화모바일 앱 개발 2021. 8. 24. 20:23
ADB란
안드로이드 디버그 브리지의 약자로, 안드로이드 기기와 통신할 수 있는 여러 명령어를 제공한다.
앱의 설치 및 디버깅과 같은 다양한 기기 작업에 도움이 된다.
ADB는 데몬을 활용하며, 클라이언트 <> 서버간의 통신으로 동작이 이루어진다.
- 클라이언트 : 명령어를 전송하는 개발 머신
- 데몬 : 명령어를 실행하는 역할, 각 기기에서 백그라운드 프로세스로 실행 됨
- 서버 : 클라이언트와 데몬 간의 통신을 관리하며, 마찬가지로 백그라운드 프로세스로 실행 됨
기본적으로 컴퓨터와 기기가 USB로 연결되어 있어야 가능하나,
안드로이드 OS 버전 11이상의 기기는 무선으로도 연결 가능하다.
자세한 내용은 링크에서 확인 가능
명령어 활용 예시
- 연결된 디바이스 조회
adb devices -l
- 앱(APK) 설치
adb install path_to_apk
- 스크린샷, 영상 녹화
// 스크린샷 adb shell screencap /sdcard/screen.png` // 영상 녹화 screenrecord \[options\] filename adb shell screenrecord /sdcard/demo.mp4
ADB 명령어 + 쉘 스크립트 활용 : 여러 기기에 앱 설치 자동화
윈도우나 Linux에서 제공하는 쉘 스크립트를 활용해서 여러 곳에 자동화를 적용할 수 있다.
아래와 같이 배치 파일을 만들어서 컴퓨터에 연결된 모든 기기에 빌드 설치를 한번에 할 수 있다!
@echo off setlocal EnableDelayedExpansion @REM 동일 경로에 지정한 keyword가 포함된 APK파일을 찾아서 txt 파일로 추출한다. dir _keyword_.apk /O:D/b > build-name.txt @REM 앱 설치를 위해 추출한 파일명을 변수로 저장한다. set /p FILE\_NAME=<build-name.txt @REM 총 설치 성공 횟수를 카운트하기 위한 변수 set /a INSTALL\_SUCCEED\_COUNT=-1 @REM 추출한 파일명 길이가 10자 이상인 경우에만 PK파일이 있다는 의미이므로 설치 시작 if %strlen% GEQ 10 ( for /f "tokens=*" %%f in ('adb.exe devices') do ( set devicestr=%%f set apk=%%p if "!devicestr!"=="!devicestr:List=!" ( for /f "tokens=1" %%d in ("!devicestr!") do ( set deviceid=%%d @REM 설치 진행 과정을 알 수 있게 중간중간 LOG메세지 기록 echo 설치 중인 기기 [deviceid] : !deviceid! echo 설치 중인 APK파일 : %FILE_NAME% adb.exe -s !deviceid! install -r %CD%\%FILE_NAME% ) ) @REM 설치 완료시마다 LOG메세지 기록 set /a INSTALL_SUCCEED_COUNT+=1 echo 1대 설치 완료! ) ) else ( @REM txt파일이 없다면 APK파일이 없다는 의미이므로 에러LOG를 출력하고 실행 종료 echo apk파일 경로를 다시 확인해주세요... echo %FILE\_NAME% echo %CD%%FILE\_NAME% ) echo 총 %INSTALL\_SUCCEED\_COUNT%대 설치 완료 ... pause
'모바일 앱 개발' 카테고리의 다른 글
[Swift] 고차함수 map, flatMap, compactMap (0) 2021.08.26 윈도우에서 Android 개발 환경 셋팅하기 (0) 2021.08.11 Swift - iOS앱 구글애드몹 광고 연동 방법 (0) 2020.03.09 Swift-WebKitView를 통해 앱에서 웹화면 출력하기 (0) 2019.10.05