如何使用开发者相关功能?
MuMu模拟器Pro能帮助开发者进行应用开发和调试!目前支持通过命令行工具管理安卓设备、通过ADB连接安卓设备,以及便捷修改网络连接和飞行模式状态等功能,可参考以下文档使用。(注:请更新至1.5.4以上版本使用。)
一、功能入口和简介
开发者相关功能的入口位于MuMu模拟器Pro和各安卓设备的顶部菜单栏。
打开MuMu模拟器Pro,点击“开发者”即可找到“打开命令行工具”,用于控制MuMu模拟器Pro及多个安卓设备。
在各安卓设备上,点击“开发者”,除了命令行工具外,还可以找到控制当前单个安卓设备的“打开ADB”、“断开/恢复网络连接”、“开启/关闭飞行模式”等功能,以及“打开开发者设置”的快捷入口。
在这两个菜单栏下,都可以找到“开发者帮助”,以获取最新的开发者功能指引文档。
二、具体功能
MuMu模拟器Pro支持开发者相关功能如下。
1. 打开命令行工具
1.1 命令行工具入口
- 打开MuMu模拟器Pro主界面。
- 点击顶部菜单栏“MuMu模拟器Pro”。
- 在下拉菜单中选择“打开命令行工具”。
打开命令行工具窗口后,即可在里面输入并执行命令。
1.2 命令行使用说明
1.2.1 获取服务端口
命令:
./mumutool port
说明:
如果获取不到服务端口,则下列所有功能都无法使用。
1.2.2 获取安卓设备的信息
命令:
./mumutool info <device>
参数:
<device>:选择安卓设备
示例:
./mumutool info 0 获取第0号安卓设备的信息
./mumutool info 0,2 获取第0,2号安卓设备的信息
./mumutool info all 获取所有安卓设备的信息
1.2.3 创建安卓设备
命令:
./mumutool create [--count <count>] [--type <type>] [--setting <setting>]
参数:
<count>: 创建安卓设备数量(>=2)
<type>:选择创建安卓设备的类型(值: tablet, phone)
<setting>:选择创建安卓设备时的配置
示例:
./mumutool create --type phone 创建一个手机类型的安卓设备
./mumutool create --setting '{"vmCpuCount":1,"vmMemoryOfMB":1024}' 创建一个1核心1GB的安卓设备
./mumutool create --setting /path/file.json 通过配置json文件的方式创建一个安卓设备
./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
运行内存:"vmMemoryOfMB" : 3072
设备名称:"vmName" : "我的安卓"
Root权限:"vmRootEnable" : false
窗口自动旋转:"windowAutoRotationEnable" : true
自定义ADB端口号:"customAdbPort":12345
说明:部分修改需要重启模拟器才能生效
{
"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
}
1.2.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号安卓设备
1.2.5 修改安卓设备配置
命令:
./mumutool config <device> [--setting <setting>]
参数:
<device>:选择要修改配置的安卓设备
<setting>:选择要修改的配置
示例:
./mumutool config 0 --setting '{"vmCpuCount":1,"vmMemoryOfMB":1024}' 修改第0号安卓设备配置为1核心1GB
./mumutool config 0,2 --setting /path/file.json 通过配置json文件的方式修改第0,2号安卓设备的配置
说明:“各配置说明”和“file.json文件具体内容”可参照“1.2.3 创建安卓设备”。
1.2.6 管理安卓设备
1.2.6.1 APP相关
命令:
./mumutool control <device> [--action <action>] [--package <package>] [--path <path>]
参数:
<device>:选择要执行APP相关命令的安卓设备
<action>:选择要执行的APP相关命令(值: 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 app_status --package com.qooapp.qoohelper 第0号安卓设备中APP的运行状态
说明:需要运行对应的模拟器,命令才能生效。
1.2.6.2 工具相关
命令:
./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号安卓设备触发抖一抖
说明:需要运行对应的模拟器,命令才能生效。
1.2.6.3 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命令
1.2.6.4 设备存储相关(导入/导出/移动安卓设备)
导入安卓设备:
命令:
./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/ 移动所有安卓设备到指定文件目录
1.2.6.5 设备显示相关(显示/隐藏安卓设备)
显示所有安卓设备:
命令:
./mumutool show
隐藏所有安卓设备:
命令:
./mumutool hide
2. 打开ADB
MuMu模拟器Pro支持通过ADB连接安卓设备。启动安卓设备后,点击Mac菜单栏“开发者”下的“打开ADB(设备端口号)”,即可自动打开ADB Shell,便捷地开始执行其他命令。
若需要查看已运行安卓设备的端口号,也可以从此处查看。
3. 断开/恢复网络连接
MuMu模拟器Pro支持断开和恢复安卓设备的网络连接,协助开发者测试断网情况下应用的表现。
3.1 网络状态提示
当安卓设备已连接网络时,安卓设备右上角通知栏处会显示WLAN图标,您可由此判断已连网,若断网则该图标不显示。
3.2 断开/恢复网络操作
在连网状态下,可点击“开发者-断开网络连接”来断网,恢复网络连接的操作同理。
4. 开启/关闭飞行模式
MuMu模拟器Pro支持开启和关闭安卓设备的飞行模式,协助开发者测试飞行模式下应用的表现。
4.1 飞行模式状态提示
当安卓设备开启飞行模式时,安卓设备右上角通知栏处会显示飞机图标,您可由此判断已开启飞行模式,若关闭则该图标不显示。
4.2 开启/关闭飞行模式操作
在关闭飞行模式状态下,可点击“开发者-开启飞行模式”来开启,关闭飞行模式的操作同理。
注意,打开飞行模式时,会同时断开网络连接,可按需再次手动恢复网络连接。
5. 打开开发者设置
MuMu模拟器Pro将开发者常用设置整合到”安卓设备设置-开发者“下,从菜单栏“开发者-打开开发者设置”可快速打开。
MuMu模拟器Pro为开发者提供以下设置项:
- Root权限:可开启手机Root权限,适用于访问或修改系统文件和目录、查看系统级别的日志、进行网络流量分析或抓包等场景。
- 磁盘共享:可选择“可写系统盘”以修改系统盘,适用于更改系统属性、修改系统内置 APK 和刷 Magisk 等场景。
- 刘海屏:可选择不同的刘海屏样式(无刘海、居中圆孔、左上圆孔、右上圆孔、居中挖孔、居中水滴),适用于测试应用界面在不同刘海屏下的显示效果的场景。
- ADB:默认勾选使用ADB默认端口(5555)。启用后,MuMu安卓设备外的其他设备可以通过ADB默认端口自动连接。此选项为全局设置,对所有MuMu安卓设备生效。
MuMu模拟器Pro将持续优化和适配开发者功能,如果有任何其他疑问或建议,欢迎联系官方工作人员反馈交流!
文章已到底