ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ADB 기본 명령어 및 명령어를 활용한 앱 설치 자동화
    모바일 앱 개발 2021. 8. 24. 20:23

    ADB란

    안드로이드 디버그 브리지의 약자로, 안드로이드 기기와 통신할 수 있는 여러 명령어를 제공한다.

    앱의 설치 및 디버깅과 같은 다양한 기기 작업에 도움이 된다.

    ADB는 데몬을 활용하며, 클라이언트 <> 서버간의 통신으로 동작이 이루어진다.

    • 클라이언트 : 명령어를 전송하는 개발 머신
    • 데몬 : 명령어를 실행하는 역할, 각 기기에서 백그라운드 프로세스로 실행 됨
    • 서버 : 클라이언트와 데몬 간의 통신을 관리하며, 마찬가지로 백그라운드 프로세스로 실행 됨

     

    기본적으로 컴퓨터와 기기가 USB로 연결되어 있어야 가능하나,

    안드로이드 OS 버전 11이상의 기기는 무선으로도 연결 가능하다.

    자세한 내용은 링크에서 확인 가능


    명령어 활용 예시

    1. 연결된 디바이스 조회
    adb devices -l
    1. 앱(APK) 설치
    adb install path_to_apk
    1. 스크린샷, 영상 녹화
    // 스크린샷 
    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
     
     
     
     

    댓글

Designed by Tistory.