본문 바로가기

자동화 매크로

안드로이드 - Window PC Python 연동 가이드

 
 

해당 과정은 설정이 굉장히 어렵고 복잡합니다ㅜㅜ (최소 1시간 소요)

(굳이 안드로이드 자동화를 하실 필요가 없다면 넘어가시는걸 추천드립니다.)

PC / 안드로이드별 환경이 달라서, 중간에 문제가 생기면 포맷/공장초기화 외에 도움을 드릴 수 없을 가능성이 높습니다.ㅜㅜ
이점 양해를 부탁드립니다ㅜㅜ
 

 
 

안드로이드 모바일 개발자 모드 세팅

 
1. 안드로이드 개발자 모드 세팅
https://dolphintravel.tistory.com/entry/%EA%B0%A4%EB%9F%AD%EC%8B%9C-%EA%B0%9C%EB%B0%9C%EC%9E%90-%EB%AA%A8%EB%93%9C-%EC%84%A4%EC%A0%95-%ED%95%B4%EC%A0%9C-%EB%B0%A9%EB%B2%95

갤럭시 개발자 모드 설정 및 해제 방법 10초 정리

안녕하세요, 필요한 정보를 찾아 드리는 돌고래입니다. 오늘은 갤럭시 개발자 모드 설정 및 해제 방법에 대해서 간략하게 알아보도록 하겠습니다. 삼성 갤럭시 스마트폰에는 개발자 모드(옵션)

dolphintravel.tistory.com

 
 
2. 아래와 같이 개발자 옵션 ON → USB 디버깅 ON

안드로이드와 노트북 연결을 USB 충전용이 아닌 데이터 전송용으로 연결하셔야 합니다.

 



PC에서 안드로이드를 조작할 환경 세팅하기

 
 
1. WINDOW에서 안드로이드 핸드폰 연동하는 패키지 설치하고 세팅하기 
https://sean.tistory.com/24

windows 10에서 adb와 scrcpy 설치하여 안드로이드 스마트폰 미러링하기

자신의 안드로이드 폰 화면을 Windows가 설치된 PC에 띄우고 PC에서 안드로이드 폰을 조작하고 싶을 때 다른 수 많은 방법이 있겠지만 그 중에서 ADB와 scrcpy를 이용하는 방법이 있습니다. ADB : Android

sean.tistory.com

 
 
2. 깃헙 설치 
https://easyprogramming.tistory.com/entry/Git-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95-Windows-%EC%9A%A9

Git 설치 방법【Windows 용】

Git Bash의 다운로드 Git은 프로그램 코드 등의 변경 이력을 관리하는 버전 관리 소프트웨어입니다. 작업 파일의 상태 등을 기록하고, 과거의 것으로 되돌릴 수 있는 편리한 소프트웨어로, 원래는

easyprogramming.tistory.com

 
 
 
3. 윈도우키+R   cmd 확인

 

3-2. [중요] CMD에서 cd 명령어를 써서 Python 폴더로 이동합니다. 
(cmd에서 'cd' 명령어는 특정 위치로 이동하는 명령어입니다.)

cd C:\Users\사용자ID\python\ 

 
 
 
4. adb devices 입력 및 엔터 아래 나오는 adb_key값을 적어두기! (중요)

 
 
5. 아래 코드 실행 --> 자동으로 weditor라는 tool이 다운로드되고 설치됨 

git clone https://github.com/openatx/weditor
pip3 install -e weditor

 
 
6. 설치가 완료되었으면, 아래 코드를 순차적으로 입력하세요! (weditor 실행하는 코드)

중간에 에러나도 무시하고 계속 진행!

adb kill-server
adb start-server
adb devices
adb shell am force-stop io.appium.uiautomator2.server
adb shell am start -n io.appium.uiautomator2.server/.Main
python -m weditor

 

 
 
7. weditor가 켜집니다. 

  참고로 해당 툴은 중국에서 만들어졌는데 관리가 안되서 조금 이상할 수 있습니다.. 메뉴얼대로 해도 안될 수 있으니 이것저것 눌러보면서 해보세요ㅜㅜ  (키홈도 가끔 안됩니다...)  
 

  첫번째 방법 (에러나면 아래 방법으로 진행)  

  • (1) Android ADB를 선택
  • (2) 위에서 adb devices에서 나오는 값을 넣음
  • (3) Connect 클릭
  •   모바일이 usb로 컴퓨터에 연결되어있는지 확인 / 화면이 켜져있는지 확인  
  • (4). Dump Hierachy 클릭 현재 화면의 뜸

 

  두번째 방법(위에 방법으로 안될때...에러날때...)  
 

  • (1) Android UIAutomator2 선택
  • (2) 위에서 adb devices에서 나오는 값을 넣음
  • (3) Connect 클릭
  •   모바일이 usb로 컴퓨터에 연결되어있는지 확인 / 화면이 켜져있는지 확인  
  • (4). 토글 클릭 (저의 경우 파란색으로 변했다가 다시 비활성화됨)
  • (5) Dump Hierachy 클릭  현재 핸드폰 화면의 뜸

 
 
 
8. 좌측 화면에서 아무거나 아이콘을 클릭 우측과 같이 모바일용 xPathLite가 뜸   성공!!!! (짝짝)

 
 
 
 


아직 끝난게 아닙니다....


Jupyter Notebook에서 환경세팅을 하고 Mobile을 연결해봅니다.

 
1. Jupyter Notebook에서 창을 띄우고 아래 명령어를 실행

!pip install pure-python-adb
!pip uninstall uiautomator2 -y
!pip install --upgrade uiautomator2
!pip uninstall packaging -y
!pip install packaging==21.3

 
 
2. 아래 명령어를 넣고 실행

제일 위에서 다운받은 adb 폴더 경로와
adb devices 값을 넣어줘야 합니다.

import uiautomator2 as u2
import os
from ppadb.client import Client as AdbClient

raw_path = r"adb_폴더_경로"
device_id = "ADB_DEVICES_값"

# Connect Mobile
os.system('taskkill /F /im adb.exe')
os.chdir(raw_path)
os.system("adb server start")

# uiautomator2 set
ui_device = u2.connect(device_id)

# AdbClient set
client = AdbClient(host="127.0.0.1", port=5037) # Default is "127.0.0.1" and 5037
devices = client.devices()
if len(devices) == 0:
    print('No devices')
    quit()
device = devices[0]
print(f'Connected to {device}')

os.chdir(raw_path)

# os.startfile(f"{raw_path}/scrcpy.exe")
# (25.01.30 업데이트)
# [주의] ^ 이거 사용하지 마세요!! 코드 사용하면 에러납니다. (원인 알수없음...)
# 핸드폰 화면 보면서 하셔야합니다.

 
 
 
3. 실행시키면 아래와 같이 연결되었다는 결과를 볼 수 있습니다! 완성!

 
이런 창이 뜰수도 있음