www.instagram.com
프로그램 개발 의뢰로 PC에서 모바일 어플을 제어해야만 했다.
블루스택으로 제어 하고 싶다고 하셨기에 .....
이번에는 파이썬으로 블루스택 제어하는 프로그램을 만들어 보자 !
먼저 공식홈페이지에서 블루스택을 설치한다.
블루스택: PC 및 Mac으로 안드로이드 앱플레이어와 클라우드 게임 플랫폼에서 게임 플레이
세상에서 가장 빠르고 가벼운 안드로이드 앱플레이어 및 클라우드 게임 플랫폼으로 Windows 및 Mac에서 RPG, 전략, 액션 모바일 게임을 원활하게 플레이해 보세요.
www.bluestacks.com
다음 ADB를 설치 해야한다.
"""
Android Debug Bridge(ADB)는 Android 기기와 컴퓨터 사이의 통신을 가능하게 해주는 도구입니다. ADB는 Android SDK(Software Development Kit)의 일부로, 개발자들이 Android 애플리케이션을 개발하고 디버깅하는 데 사용됩니다.
"""
라고 한다.
아무튼 설치해준다
SDK 플랫폼 도구 출시 노트 | Android Studio | Android Developers
Android SDK 플랫폼 도구는 Android SDK의 구성요소입니다.
developer.android.com
Windows용, Linux용, Mac용이 있다.
컴퓨터에 맞는걸로 설치해주자.
나는 Windows용으로 했다 .
다운로드 받은 .zip 파일을 C:\에 압축을 풀어준다.
그럼 C:\platform-tools-latest-windows\platform-tools 라는 경로가 생길텐데,
이걸 환경변수에 넣어줘야 한다.
내컴퓨터 -> 속성 -> 고급 시스템 설정 -> 환경 변수 -> 시스템 변수탭에서 path클릭 -> 편집 -> 새로만들기 -> C:\platform-tools-latest-windows\platform-tools 입력 -> 확인
그 후 cmd에서 adb version을 입력해보자.
위와 같이 나온다면 잘 된것 !
설치된 블루스택을 실행하고, 설정창에 가자.
고급 기능 설정에서 Android 디버그 브리지(ADB)를 체크해주고
저장해주면 이제 세팅 끝.
이제 파이썬으로 돌아와서,
필요한 모듈을 불러오자.
import subprocess
그 뒤 앞으로 요긴하게 써먹어야 하니까 class로 묶어주자.
class ADB:
def __init__(self, device_ip='127.0.0.1', port=5555):
self.device_ip = device_ip
self.port = port
self.device_id = f'{self.device_ip}:{self.port}'
ADB라는 클래스를 생성하고,
device_ip와 포트를 설정해주자.
블루스택과 연동하려면 그대로 사용하면된다.
def shell(self, command):
result = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
if result.returncode == 0:
return result.stdout
else:
return result.stderr
명령어를 블루스택에 전달할 함수도 만들어 준다.
command인자를 받아서 블루스택에 전달한다고 보면 된다.
def connect(self):
command = f'adb connect {self.device_id}'
return self.shell(command)
실제로 블루스택과 연결할 함수 !
def apps(self, app_package):
command = f'adb -s {self.device_id} shell monkey -p {app_package} -c android.intent.category.LAUNCHER 1'
return self.shell(command)
apps함수로 app_packge에 실제 실행할 앱패키지를 받아온다.
그 후 아까 만든 shell함수에 보내서 블루스택에서 앱을 실행시키는 함수 !
adbs = ADB()
res = adbs.connect()
print(res)
app = 'com.android.chrome'
appres = adbs.apps(app)
print(appres)
접속도 잘 되고, 블루스택에서 크롬도 켜졌다.
기본적인건 잘 작동하는지 확인이 됐고, 이제 추가적인 행동들을 할 수 있도록
더 자세히 파고들어보자 !
물론 2편에서 !
[종합 매크로] 공지사항
---업데이트 예정
myworld1004.tistory.com
코딩쟁이들 놀이터 : 네이버 카페
세상 모든 코딩쟁이들의 카페입니다
cafe.naver.com
주식회사 유메
#프로그램제작 #프로그램
open.kakao.com
'프로그램 개발일지' 카테고리의 다른 글
[Python] 스마트 스토어 API 활용 네이버 커머스 API 2편 (0) | 2024.06.27 |
---|---|
[ADB] adb 한글 전송이 안 될때 / 한글 입력이 안 될때 (0) | 2024.06.18 |
[Python] 스마트 스토어 API 활용 네이버 커머스 API 1편 (3) | 2024.06.15 |
[Python] 셀레니움으로 접속 안 되는 사이트 우회 방법 (2) | 2024.06.14 |
[Python] 네이버 블로그 자동 포스팅 만들기 - 3 / openai api (0) | 2024.06.14 |