동시에 여러 디바이스에 테스트빌드(.apk) 설치하기 - shinyeoeun/My_Library GitHub Wiki
테스트빌드를 설치할때
배포사이트(App deploy or ndeploy)에서 일일히 apk파일 다운받아 설치하고
수정빌드 나오면 기존 앱 지우고 다시설치하고
또 로그라도 취득할라치면 USB연결해야하는 등 반복작업이 지겹고 비효율적이라 생각되어
원격으로 동시에 여러 디바이스에 apk파일을 설치하고 제거하는 방법을 구현해보았다
- 동작영상
LINE Music 테스트빌드를 pixel4, Galaxy S10 두대의 디바이스에 원격접속으로 설치하고 삭제하는 시나리오
※사전작업: PC에 설치하려는 apk파일을 다운로드 받아놓음
- adb shell install {apk파일 경로}
apk파일 설치
- adb shell uninstall {package}
apk파일 삭제 uninstall은 패키지로 제어하므로 패키지명 조사해야함 ㅠ
커맨드 날릴때 Success가 표시되고 디바이스에서 정상적으로 APP설치/제거되면 성공!
- 위의 방법으로 여러 디바이스를 원격으로 접속해 둠(여기서는 pixel4, Galaxy S10 두대에 접속)
- 이렇게 여러대의 디바이스가 접속된 상태에서 install 커맨드를 날리면 에러 남 ㅠ
error: more than one device/emulator
- platform-tools폴더에 아래와 같이 adb+.bat 파일을 작성함
# adb+.bat
@echo off
SET ARGUMENTS=%*
if "%ARGUMENTS%" == "" (
GOTO EOF
)
SET "ARGUMENTS=%ARGUMENTS:""="%"
SETLOCAL ENABLEDELAYEDEXPANSION
:: 접속된 모든 디바이스에 APK파일 설치 ::
FOR /F "tokens=1,2 skip=1" %%A IN ('adb devices') DO (
SET IS_DEV=%%B
if "!IS_DEV!" == "device" (
SET SERIAL=%%A
echo "adb -s !SERIAL! %ARGUMENTS%"
call adb -s !SERIAL! %ARGUMENTS%
)
)
ENDLOCAL
:EOF
- adb+.bat 파일 작성 경로
- 이제 아래와 같이 adb+ 커맨드로 여러대의 디바이스에 동시에 커맨드를 입력이 가능해짐
# 설치
adb+ install -r "C:\ADB_TEST\apk\LineMusic-japan-debug-v3.14.1.apk"
# 삭제
adb+ uninstall jp.linecorp.linemusic.android
※ 원격이 아닌 USB접속상태로 하려면 스킵!
- adb tcpip {포트번호}
디바이스가 TCP/IP연결을 수신가능하도록 포트를 염
- adb shell ifconfig | findstr inet
디바이스의 ip주소 취득 (디바이스 설정메뉴에서도 확인가능)
- adb connect {ip주소}
디바이스 접속
USB케이블 제거 후 adb devices의 디바이스명이 ip:port형식으로 표시되면 원격조작 가능!
끝!
- script for commands to multiple android devices on windows
https://gist.github.com/thebagchi/df29ae862fc1c296dec2#file-adb-bat
- 모바일 앱 테스팅에 유용한 Android ADB 활용법