개발자 관련 기능은 어떻게 사용하나요?
MuMuPlayer Pro는 개발자들에게 앱 개발 및 디버깅 환경을 제공합니다. 현재 명령행 툴을 통한 안드로이드 디바이스 설정, ADB를 통한 안드로이드 디바이스 연결, 네트워크 연결 및 비행기 모드 상태 등의 기능을 제공하고 있습니다. 다음 문서를 참고하여 사용해 주세요. (주의: 1.5.4 이상 버전으로 업데이트 후 사용해 주세요.)
기능 및 설명
개발자 관련 기능은 MuMuPlayer Pro와 각 안드로이드 디바이스의 상단 메뉴바에서 찾을 수 있습니다.
MuMuPlayer Pro를 열고 '개발자'를 클릭하여 '명령행 툴 열기'를 실행합니다. 이곳에서 MuMuPlayer Pro 및 여러 대의 안드로이드 디바이스를 제어할 수 있습니다.
각 안드로이드 디바이스에서 '개발자'를 클릭합니다. 명령행 툴 외에도 'ADB 열기', '네트워크 연결 해제/복구', '비행기 모드 활성화/비활성화' 등 기능을 사용할 수 있으며, '개발자 설정 열기' 바로가기를 실행할 수 있습니다.
이 두 메뉴창에서 '개발자 도움말'을 실행할 수 있으며, 최신 버전의 개발자 기능과 관련된 도움말을 살펴볼 수 있습니다.
자세한 기능
MuMuPlayer Pro에서 제공하는 개발자 관련 기능은 다음과 같습니다. 클릭 시 기능 상세 설명으로 이동합니다.
1. 명령행 툴 열기
2. ADB 열기
3. 네트워크 연결 해제/복구
4. 비행기 모드 활성화/비활성화
5. 개발자 설정 열기
1. 명령행 툴 열기
목차:
1. 명령행 툴 찾기
2. 명령행 사용 방법
(1) 서버 포트 가져오기
(2) 안드로이드 디바이스 정보 가져오기
(3) 안드로이드 디바이스 생성
(4) 안드로이드 디바이스 복사/삭제/열기/닫기/재시작
(5) 안드로이드 디바이스 성능 수정
(6) 안드로이드 디바이스 관리
1. 명령행 툴 찾기
(1) MuMuPlayer Pro의 메인 화면을 엽니다.
(2) 상단 메뉴바에서 '개발자'를 클릭합니다.
(3) 메뉴창에서 '명령행 툴 열기'를 선택합니다.
명령행 툴 창에 명령을 입력하거나 실행할 수 있습니다.
2. 명령행 사용 방법
(1) 서버 포트 가져오기
· 커맨드:
./mumutool port
· 설명:
서버 포트를 불러올 수 없는 경우 다음 기능을 사용할 수 없습니다.
(2) 안드로이드 디바이스 정보 가져오기
· 커맨드:
./mumutool info <device>
· 파라미터:
<device>: 안드로이드 디바이스 선택
· 예시:
./mumutool info 0 0번 안드로이드 디바이스의 정보 불러오기
./mumutool info 0,2 0, 2번 안드로이드 디바이스의 정보 불러오기
./mumutool info all 모든 안드로이드 디바이스의 정보 불러오기
(3) 안드로이드 디바이스 생성
· 커맨드:
./mumutool create [--count <count>] [--type <type>] [--setting <setting>]
· 파라미터:
<count>: 생성할 안드로이드 디바이스의 수(>=2)
<type>: 생성한 안드로이드 디바이스의 유형 선택(값: tablet, phone)
<setting>: 안드로이드 디바이스 생성 시의 설정 선택
· 예시:
./mumutool create --type phone 모바일 유형의 안드로이드 디바이스 1개 생성
./mumutool create --setting '{"vmCpuCount":1,"vmMemoryOfMB":1024}' 1코어 1GB의 안드로이드 디바이스 1개 생성
./mumutool create --setting /path/file.json json파일 설정을 통해 1개의 안드로이드 디바이스 생성
./mumutool create --count 2 --setting /path/file.json json파일 설정을 통해 2개의 안드로이드 디바이스 생성
*각 설정별 설명
보스 키: "bossKeyEnable": true
디바이스 저장 목록: "createBundlesPath" : "path"
사용자 정의 ADB 포트: "customAdbPort" : 16384,
노치 디스플레이: "displayCutout" : 0,
백그라운드 자동 프레임 최소화: "dynamicFpsEnable" : false
안드로이드 디바이스 창 진입 후 백그라운드 상태일 때 자동으로 프레임 레이트 줄이기: "dynamicFpsLimitToLow" : 15
종료 확인 메시지 팝업 여부: "exitConfirmEnable" : true
프레임 레이트 표시: "fpsShowEnable" : false
GPU 가속: "gpuFastMathEnable" : false
GPU모델: "gpuPropModel" : "Adreno (TM) 640"
위도: "locationLatitude" : "23.11",
경도: "locationLongtitude" : "113.32",
해발: "locationMetersElevation" : "",
MAC 주소 설정: "macAddress" : "92:79:16:57:58:12"
최대 프레임 레이트(values: 30, 60, 모니터에 설정된 프레임 레이트): "maxFpsLimit" : 144
휴대폰 번호: "phoneNumber" : "phone number"
휴대폰 브랜드: "phonePropBrand" : "Redmi"
IMEI: "phonePropIMEI" : "869874032137430"
네트워크 유형: "phonePropMiit" : "23078RKD5C"
휴대폰 모델: "phonePropModel" : "K60 Ultra"
고화질 모드: "renderQualityEnable" : false
DPI: "resolutionDPI" : 240
해상도: "resolutionWidthHeight" : "1600x900"
안드로이드 디바이스 ID: "simulationProps" : "android_id=123456"
디스크 공유: "systemWritable" : false
MuMu 포인터: "trackCursorEnable" : false
ADB: "usingNormalADBPort" : true
컨트롤러 진동 감도: "vibrationAmplitude" : 0.59999999999999998
컨트롤러 진동 시간 수정: "vibrationDurationOffset" : 0
컨트롤러 진동 시간 비율: "vibrationDurationRadio" : 0.80000000000000004
코어 수: "vmCpuCount" : 3
RAM: "vmMemoryOfMB" : 3072
디바이스 명칭: "vmName" : "我的安卓"
Root 권한:"vmRootEnable" : false
화면 자동 회전: "windowAutoRotationEnable" : true
사용자 정의 ADB 포트: "customAdbPort":12345
설명:
일부 설정은 재시작 후에 적용됩니다.
*file.json 파일 세부 내용:
{
"bossKeyEnable" : true,
"createBundlesPath" : "path"
"customAdbPort" : 16384,
"displayCutout" : 0,
"dynamicFpsEnable" : false,
"dynamicFpsLimitToLow" : 15,
"exitConfirmEnable" : true,
"fpsShowEnable" : false,
"gpuFastMathEnable" : false,
"gpuPropModel" : "Adreno (TM) 640",
"locationLatitude" : "23.11",
"locationLongtitude" : "113.32",
"locationMetersElevation" : "",
"macAddress" : "92:79:16:57:58:66",
"maxFpsLimit" : 144,
"phoneNumber" : "phone number",
"phonePropBrand" : "Redmi",
"phonePropIMEI" : "869874032137430",
"phonePropMiit" : "23078RKD5C",
"phonePropModel" : "K60 Ultra",
"renderQualityEnable" : false,
"resolutionDPI" : 240,
"resolutionWidthHeight" : "1600x900",
"systemWritable" : false,
"trackCursorEnable" : false,
"usingNormalADBPort" : true,
"vmCpuCount" : 3,
"vmMemoryOfMB" : 3072,
"vmName" : 나의 안드로이드",
"vmRootEnable" : false,
"windowAutoRotationEnable" : true
"customAdbPort":12345
}
(4) 안드로이드 디바이스 복사/삭제/열기/닫기/재시작
· 커맨드:
복사: ./mumutool clone <device>
삭제: ./mumutool delete <device>
열기: ./mumutool open <device>
닫기: ./mumutool close <device>
재시작: ./mumutool restart <device>
· 파라미터:
<device>: 안드로이드 디바이스 선택
· 예시:
./mumutool clone 0 0번 안드로이드 디바이스 복사
./mumutool delete 0,2 0, 2번 안드로이드 디바이스 삭제
./mumutool open all 모든 안드로이드 디바이스 열기
./mumutool close 0 0번 안드로이드 디바이스 닫기
(5) 안드로이드 디바이스 성능 수정
· 커맨드:
./mumutool config <device> [--setting <setting>]
· 파라미터:
<device>: 성능을 변경할 안드로이드 디바이스 선택
<setting>: 변경할 성능 선택
· 예시:
./mumutool create --setting '{"vmCpuCount":1,"vmMemoryOfMB":1024}' 0번 안드로이드 디바이스의 성능을 1코어 1GB로 변경
./mumutool create --count 2 --setting /path/file.json json파일 설정을 통해 0, 2번 안드로이드 디바이스의 성능 변경
· 설명:
'각 설정별 설명'과 'file.json 파일 세부 내용'은 (3) 안드로이드 디바이스 생성을 참고해 주세요.
(6) 안드로이드 디바이스 관리
① 앱 관련
· 커맨드:
./mumutool control <device> [--action <action>] [--package <package>] [--path <path>]
· 파라미터:
<device>: 앱 관련 명령을 실행할 안드로이드 디바이스 선택
<action>: 실행할 앱 관련 명령 선택(값: open_app, close_app, install_apk, uninstall_app, app_status)
<package>: 안드로이드 설치 패키지 bundle ID 선택. 다음과 같이 사용할 수 있습니다: open_app, close_app, uninstall_app, app_status.
<path>: apk/apks/xapk 파일 경로 선택. 다음과 같이 사용할 수 있습니다: install_apk.
· 예시:
./mumutool control 0,2 --action install_apk --path /path/QooApp.apk 0, 2번 안드로이드 디바이스에 apk 설치
./mumutool control 0 --action open_app --package com.qooapp.qoohelper 0번 안드로이드 디바이스에 apk 실행
./mumutool control 0 --action close_app --package com.qooapp.qoohelper 0번 안드로이드 디바이스에서 apk 종료
./mumutool control 0 --action uninstall_app --package com.qooapp.qoohelper 0번 안드로이드 디바이스에서 apk 언인스톨
./mumutool control 0 --action uninstall_app --package com.qooapp.qoohelper 0번 안드로이드 디바이스의 앱 실행 상태
· 설명:
커맨드는 시뮬레이터 실행 중에만 작동합니다.
② 툴 관련
· 커맨드:
./mumutool control <device> [--action <action>] [--type <type>]
· 파라미터:
<device>: 기능을 실행할 안드로이드 디바이스 선택
<action>: run_tool
<type>: 실행할 기능 선택(values: goBack, goHome, showActivity,showVolumePanel, addVolume, reduceVolume, muteVolume, rotation, shake)
· 예시:
./mumutool control 0 --action run_tool --type goBack 0번 안드로이드 디바이스에 엔터 실행
./mumutool control 0 --action run_tool --type goHome 0번 안드로이드 디바이스에 Home키 실행
./mumutool control 0 --action run_tool --type showActivity 0번 안드로이드 디바이스에 최근 작업 키 실행
./mumutool control 0 --action run_tool --type showVolumePanel 0번 안드로이드 디바이스에 볼륨 조절 창 팝업
./mumutool control 0 --action run_tool --type addVolume 0번 안드로이드 디바이스 볼륨 1 증가
./mumutool control 0 --action run_tool --type reduceVolume 0번 안드로이드 디바이스 볼륨 1 감소
./mumutool control 0 --action run_tool --type muteVolume 0번 안드로이드 디바이스 음소거 상태 변경
./mumutool control 0 --action run_tool --type rotation 0번 안드로이드 디바이스 화면 회전 상태 변경
./mumutool control 0 --action run_tool --type shake 0번 안드로이드 디바이스에 흔들기 실행
· 설명:
커맨드는 시뮬레이터 실행 중에만 작동합니다.
③ cmd 관련
· 커맨드:
./mumutool control <device> [--action <action>] [--cmd <cmd>]
· 파라미터:
<device>: cmd 명령을 실행할 안드로이드 디바이스 선택
<action>: run_tool
<cmd>: 실행할 cmd 명령 선택
· 예시:
./mumutool control 0 --action run_cmd --cmd "input tap 300 400" 0번 안드로이드 디바이스에 cmd 명령 수행
④디바이스 메모리 관련(안드로이드 디바이스 불러오기/내보내기/이동)
· 안드로이드 디바이스 불러오기
· 커맨드:
./mumutool import [--count <count>] [--path <path>]
· 파라미터:
<count>: 안드로이드 디바이스를 불러올 횟수 선택
<path>: 안드로이드 디바이스를 불러올 저장 경로 선택
· 예시:
./mumutool import --count 1 --path /path/file1.mad --path /path/file2.mad file1.mad、file2.mad 파일을 연결을 통해 안드로이드 디바이스에서 불러오기
./mumutool import --count 2 --path /path/file.mad file.mad 파일을 복사를 통해 안드로이드 디바이스에서 불러오기
./mumutool control 0 --action run_tool --type showActivity 0번 안드로이드 디바이스에 최근 작업 키 실행
./mumutool control 0 --action run_tool --type showVolumePanel 0번 안드로이드 디바이스에 볼륨 조절 창 팝업
· 설명:
count=1,mad 파일을 안드로이드 디바이스 리스트에 추가
count>=2,mad 파일을 안드로이드 디바이스 리스트에 복사
· 안드로이드 디바이스 내보내기
· 커맨드:
./mumutool export <device> [--dir <dir>]
· 파라미터:
<device>: 내보낼 안드로이드 디바이스 선택
<dir>: 안드로이드 디바이스를 내보낼 저장 경로 선택
· 예시:
./mumutool export 0 --dir /path/ 0번 안드로이드 디바이스를 지정된 파일 목록으로 내보내기
./mumutool export 0,2 --dir /path/ 0, 2번 안드로이드 디바이스를 지정된 파일 목록으로 내보내기
./mumutool export all --dir /path/ 모든 안드로이드 디바이스를 지정된 파일 목록으로 내보내기
· 안드로이드 디바이스 이동
· 커맨드:
./mumutool move <device> [--dir <dir>]
· 파라미터:
<device>: 이동할 안드로이드 디바이스 선택
<dir>: 안드로이드 디바이스 이동 후 경로 선택
· 예시:
./mumutool move 0 --dir /path/ 0번 안드로이드 디바이스를 지정된 파일 목록으로 이동
./mumutool move 0,2 --dir /path/ 0, 2번 안드로이드 디바이스를 지정된 파일 목록으로 이동
./mumutool move all --dir /path/ 모든 안드로이드 디바이스를 지정된 파일 목록으로 이동
⑤ 디바이스 표시 관련(안드로이드 디바이스 표시/숨기기)
· 모든 안드로이드 디바이스 표시
· 커맨드:
./mumutool show
· 모든 안드로이드 디바이스 숨기기
· 커맨드:
./mumutool hide
2. ADB 열기
MuMuPlayer Pro에선 ADB를 통해 안드로이드 디바이스에 연결할 수 있습니다. 안드로이드 디바이스 실행 후 Mac 상단 메뉴바의 '개발자' 메뉴에서 'ADB 열기(디바이스 포트)'를 클릭합니다. ADB Shell이 자동으로 실행되며 빠르게 명령을 실행할 수 있습니다.
이곳에서 실행 중인 안드로이드 디바이스의 포트를 확인할 수 있습니다.
3. 네트워크 연결 해제/복구
MuMuPlayer Pro에선 안드로이드 디바이스의 네트워크 연결을 해제하거나 복구할 수 있으며, 이 기능을 통해 네트워크 상황에 따른 앱의 상태를 테스트할 수 있습니다.
1. 네트워크 상태 알림
안드로이드 디바이스가 네트워크에 연결되면 안드로이드 디바이스 우상단 알림 센터에 WLAN 아이콘이 표시됩니다. 이곳에서 네트워크 상태를 확인할 수 있으며, 네트워크 연결이 해제된 경우 아이콘이 표시되지 않습니다.
2. 네트워크 연결 해제/복구
네트워크에 연결된 상태에서 '개발자 - 네트워크 연결 해제'를 통해 네트워크 연결을 해제할 수 있으며, 같은 방법으로 복구도 가능합니다.
4. 비행기 모드 활성화/비활성화
MuMuPlayer Pro에선 안드로이드 디바이스의 비행기 모드를 활성화 또는 비활성화할 수 있으며, 비행기 모드 활성화 시의 앱 상태를 테스트할 수 있습니다.
1. 비행기 모드 상태 알림
안드로이드 디바이스의 비행기 모드가 활성화되면 안드로이드 디바이스 우상단 알림 센터에 비행기 아이콘이 표시됩니다. 이곳에서 비행기 모드 상태를 확인할 수 있으며, 비행기 모드가 비활성화된 경우 아이콘이 표시되지 않습니다.
2. 비행기 모드 활성화/비활성화
비행기 모드가 비활성화된 상태에서 '개발자 - 비행기 모드 활성화'를 통해 비행기모드를 활성화할 수 있으며, 같은 방법으로 비활성화도 가능합니다.
주의: 비행기 모드 활성화 시 네트워크 연결이 해제됩니다. 네트워크 연결을 복구하기 위해선 수동으로 복구해야 합니다.
5. 개발자 설정 열기
개발자들이 자주 사용하는 기능은 '안드로이드 디바이스 설정 - 개발자'에서 확인할 수 있습니다. 메뉴창의 '개발자 - 개발자 설정 열기'를 통해 빠른 실행이 가능합니다.
MuMuPlayer Pro에선 개발자를 위해 다음과 같은 설정을 제공합니다.
1. Root 권한: 휴대폰의 Root 권한을 활성화합니다. 시스템 파일에 접근 혹은 수정, 시스템 목록에 접근 혹은 수정, 시스템 로그 확인, 네트워크 데이터 분석, 패킷 캡쳐 등의 상황에서 유용하게 사용할 수 있습니다.
2. 디스크 공유: '시스템 디스크 쓰기 허용'을 선택하여 시스템 디스크를 수정합니다. 시스템 속성 변경, 시스템 내장 APK 및 Magisk 사용 등의 상황에서 유용하게 사용할 수 있습니다.
3. 노치: 다른 디자인의 노치를 선택합니다(노치 없음, O형 펀치홀(중앙), O형 펀치홀(좌측), O형 펀치홀(우측), U형 펀치홀(중앙), V형 펀치홀(중앙)). 각기 다른 노치 디스플레이에 적용된 인터페이스를 테스트할 때 유용하게 사용할 수 있습니다.
4. ADB: ADB 기본 포트(5555)가 기본으로 설정되어 있습니다. 실행 시 MuMu Android Device 외의 다른 디바이스에서 ADB 기본 포트를 통해 자동으로 연결됩니다. 해당 항목은 글로벌 세팅이므로 모든 MuMu Android Device에 적용됩니다.
개발자 기능은 앞으로도 계속해서 개발 및 최적화 작업이 진행될 예정입니다. 문의 및 건의 사항은 지원팀으로 연락바랍니다.
문서 끝까지 도달했습니다