Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- VisualStudio
- 예제
- WPF
- sourcetree
- flutter
- 안드로이드 스튜디오
- EC2
- 빌드 오류
- react-native
- 안됨
- gradle
- react
- 뒤로가기 안됨
- bitbucket
- 안드로이드
- git인증
- Invalid credentials
- not working
- AWS
- 설정
- Android
- 디버깅
- Git
- 리액트 네이티브
- aPK
- Kotlin
- 인증문제해결
- 리액트
- 개발환경설정
- 데이터바인딩
Archives
- Today
- Total
물에 살고싶은 개발자
ADB를 이용한 Wi-Fi 디버깅 자동화 스크립트 본문
안녕하세요!
오늘은 ADB를 이용하여 Wi-Fi를 통한 안드로이드 디버깅을 자동화하는 방법에 대해 알아보겠습니다.
이 스크립트를 사용하면 디바이스와 한번의 연결로도 Wi-Fi를 통해 디바이스에 앱을 설치하거나 디버깅할 수 있습니다.
아래 내용은 이 포스팅에 있는 내용을 자동화 하는것입니다. 윈도우 기준이니 맥이나 리눅스는 조금 다를수있습니다.
먼저, 전체 스크립트 코드를 살펴보겠습니다.
@echo off
setlocal enabledelayedexpansion
:: 디바이스 연결 확인
adb devices
:: TCP/IP로 ADB 재시작
adb tcpip 5555
:: 잠시 대기
timeout /t 2
:: 디바이스 IP 주소 가져오기
for /f "tokens=2 delims=:" %%a in ('adb shell ifconfig wlan0 ^| find "inet addr"') do (
set TEMP_IP=%%a
for /f "tokens=1 delims= " %%b in ("!TEMP_IP!") do set DEVICE_IP=%%b
)
:: Wi-Fi 연결
adb connect !DEVICE_IP!:5555
:: 연결 상태 확인
adb devices
echo Work completed. check adb devices status. Now you can debug over Wi-Fi.
pause >nul
:: 연결 해제
:: adb disconnect !DEVICE_IP!:5555
이제 각 줄의 의미를 이해하기 쉽게 비유를 통해 설명해보겠습니다.
- @echo off: 컴퓨터가 우리에게 불필요한 말을 하지 않게 하는 마법의 주문입니다. 마치 친구에게 "잠깐 조용히 해줘!"라고 말하는 것과 같아요.
- setlocal enabledelayedexpansion: 이것은 컴퓨터에게 "우리가 할 일을 잘 기억하고 있어!"라고 말해주는 것입니다.
- adb devices: 컴퓨터에게 "지금 연결된 디바이스가 뭐야?"라고 물어보는 것입니다.
- adb tcpip 5555: 컴퓨터에게 "Wi-Fi로 디바이스와 이야기할 거야!"라고 알려주는 것입니다.
- timeout /t 2: "잠깐 2초만 기다려!"라고 말하는 것과 같아요.
- for /f ...: 이 부분은 컴퓨터에게 "디바이스의 주소를 알아내줘!"라고 부탁하는 부분입니다.
- for /f: 이 부분은 파일이나 문자열에서 특정 패턴을 가진 데이터를 추출하기 위한 명령입니다. 여기서는 문자열에서 데이터를 추출하려고 합니다.
- "tokens=2 delims=:": 이 부분은 추출할 데이터의 패턴을 지정합니다. **delims=:**는 데이터를 : 기호를 기준으로 나누라는 의미이고, **tokens=2**는 나눈 데이터 중 두 번째 부분을 선택하라는 의미입니다.
- %%a: 이것은 추출된 데이터를 저장할 변수의 이름입니다.
- adb shell ifconfig wlan0: 이 명령은 디바이스의 네트워크 정보를 가져옵니다. **wlan0**은 Wi-Fi 연결을 나타냅니다.
- ^| find "inet addr": 이 부분은 가져온 네트워크 정보 중에서 "inet addr"라는 텍스트를 포함하는 부분만을 선택하라는 의미입니다. "inet addr"는 IP 주소를 나타내는 부분입니다.
- 이후 코드는 추출된 IP 주소에서 불필요한 공백을 제거하는 작업을 수행합니다:
- set TEMP_IP=%%a: 추출된 IP 주소를 임시 변수 **TEMP_IP**에 저장합니다.
- for /f "tokens=1 delims= " %%b in ("!TEMP_IP!") do set DEVICE_IP=%%b: 임시 변수에서 IP 주소만을 선택하여 DEVICE_IP 변수에 저장합니다.
- adb connect !DEVICE_IP!:5555: 이제 컴퓨터에게 "그 주소로 디바이스에 연결해줘!"라고 지시하는 것입니다.
- adb devices: "잘 연결됐어?"라고 다시 한번 확인하는 것입니다.
- echo ...: 이제 컴퓨터가 우리에게 "Wi-Fi로 디버깅할 수 있어! 연결을 끊으려면 키를 눌러!"라고 말해주는 것입니다.
- :: adb disconnect ...: 이 부분은 주석 처리되어 있어서 실행되지 않아요. 필요하면 주석을 해제하여 사용할 수 있습니다.
이렇게 간단한 스크립트를 통해 Wi-Fi를 이용한 디버깅을 자동화할 수 있습니다. 편리하게 사용해보세요!
Comments