peak 发表于 2018-10-19 16:56:40

【官方出品】模拟器命令行合集(memuc命令)

本帖最后由 peak 于 2022-11-15 14:12 编辑

memuc是v6.0.0版本推出的命令行工具,它封装了MEmuConsole、MEmu、MEmuManage的接口,支持多开管理、修改配置、android通信、adb命令等功能。

memuc支持多个模拟器的管理,所以某些命令需要传入模拟器序号或者模拟器名称参数,以下是模拟器序号和名称的说明
模拟器序号参数: -i 0 或者 --index 0 (序号从0开始,0代表第一个模拟器,1 代表第二个模拟器,依次类推)
模拟器名称参数: -n MEmu 或者 --name MEmu(MEmu 代表第一个模拟器,MEmu_1 代表第二个模拟器,依次类推,多开器上修改模拟器名称并不影响此参数)

memuc命令分为“模拟器管理”,“模拟器配置”,“模拟器控制”,“adb命令”四个大类:
模拟器管理:主要涉及模拟器的启动关闭,导入导出,创建删除,运行状态查询等,除克隆重命名等少数操作外,不需要指定模拟器
模拟器配置:主要涉及模拟器属性的修改,调用时需要指定模拟器
模拟器控制:主要涉及对安卓系统的控制,如安装app,启动/关闭app,断开网络等,调用时需要指定模拟器
adb命令:    主要是对安卓官方adb命令行工具的包装,解决连接特定模拟器的问题(使用桥接网络时避免输入随机ip),需要指定模拟器
以下是具体的命令介绍

一、模拟器管理
1. 描述:创建新的模拟器
    语法:memuc create
    示例:memuc create // 新建一个模拟器
    提示:memuc create 44 // 指定新建安卓版本
            memuc create 51
            memuc create 71
            memuc create 76 // 创建71 64位 (模拟器7.1.1版本及以后支持)
    成功:SUCCESS: create vm finished.
    失败:ERROR: download ova failed.
               ERROR: create vm failed.

2. 描述:删除指定模拟器
    语法:memuc remove <-i vmindex | -n vmname>
    示例:memuc remove -i 0 // 删除“MEmu”
    成功:SUCCESS: delete vm finished.
    失败:ERROR: delete vm failed.

3. 描述:克隆指定模拟器
    语法:memuc clone <-i vmindex | -n vmname> [-r nametag] [-t]
            [-t] 不等待任务结束直接返回,并获得任务id号
    示例:memuc clone -i 1 // 克隆“MEmu_1”
    克隆名字:memuc clone -i 1 -r 克隆后名字
    成功:SUCCESS: clone vm finished.
    失败:ERROR: clone vm failed.

4. 描述:导出指定模拟器
    语法:memuc export <-i vmindex | -n vmname> <ovafile> [-t]
            <ovafile> 导出成ova文件类型
            [-t] 不等待任务结束直接返回,并获得任务id号
    示例:memuc export -i 2c:\1.ova // 导出“MEmu_2”,将它导出到c盘下,命名为1.ova
    成功:SUCCESS: export vm finished.
    失败:ERROR: export vm failed.

5. 描述:导入模拟器
    语法:memuc import <ovafile> [-t]
            <ovafile> ova文件类型
            <memufile> memu文件类型(模拟器7.1.3版本及以后支持)
            [-t] 不等待任务结束直接返回,并获得任务id号
    示例:memuc import c:\1.ova // 导入c盘下1.ova
    成功:SUCCESS: import vm finished.
    失败:ERROR: import vm failed.

6. 描述:启动指定模拟器
    语法:memuc start <-i vmindex | -n vmname> [-t]
            [-t] 不等待任务结束直接返回,并获得任务id号
            [-b] 后台启动模拟器
    示例:memuc start -n MEmu // 启动“MEmu”
    成功:SUCCESS: start vm finished.
    失败:ERROR: start vm failed.
               ERROR: not support 32bit system.(32位系统启动64位镜像时)

7. 描述:关闭指定模拟器
    语法:memuc stop <-i vmindex | -n vmname> [-t]
            [-t] 不等待任务结束直接返回,并获得任务id号
    示例:memuc stop -n MEmu_1 // 关闭“MEmu_1”
    成功:SUCCESS: stop vm finished.
    失败:ERROR: stop vm failed.

8. 描述:关闭所有模拟器
    语法:memuc stopall
    示例:memuc stopall // 关闭所有模拟器
    返回:SUCCESS: stop all vms finished.

9. 描述:列出所有模拟器信息
    语法:memuc listvms [--running] [-s]
            [--running] 列出所有启动的模拟器信息
            [-i vmindex | -n vmname] 列出指定模拟器信息(模拟器7.3.3版本及以后支持)
    示例:memuc listvms // 列出模拟器 索引、标题、顶层窗口句柄、是否启动模拟器、进程PID 信息、模拟器磁盘占用(单位byte)
    示例:memuc listvms -s // 显示磁盘信息
    示例:memuc listvms --render // 获取渲染窗口句柄
    示例:memuc listvms -i 0 // 显示独立信息 (-i 加索引号)

10. 描述:查询指定模拟器是否处于运行状态
    语法:memuc isvmrunning <-i vmindex | -n vmname>
    示例:memuc isvmrunning -n MEmu_1 // 返回“MEmu_1”运行状态
    返回:Running
               Not Running

11. 描述:快速排列所有模拟器的窗口
    语法:memuc sortwin
    示例:memuc sortwin // 快速排列所有模拟器的窗口
    返回:SUCCESS: sort win finished.

12. 描述:重启模拟器
    语法:memuc reboot <-i vmindex | -n vmname> [-t]
            [-t] 不等待任务结束直接返回
    示例:memuc reboot -i 0 // 重启模拟器
    返回:SUCCESS: reboot finished.

13. 描述:重命名模拟器(6.0.7 新增)
    语法:memuc rename <-i vmindex | -n vmname> <title>
    示例:memuc -i 0 rename "逍遥安卓模拟器-测试1"
    返回:SUCCESS: rename vm finished.

14. 描述:通过任务id号查询状态(6.0.7 新增)
    语法:memuc taskstatus <taskid>
    示例:memuc taskstatus 7baf735f-c877-4836-aaf9-ccca67296a8f
    返回:“running”:正在执行;“success”:完成
    备注:此条命令 配合描述6memuc start <-i vmindex | -n vmname> [-t]
            [-t] 不等待任务结束直接返回,并获得任务id号

15. 描述:一键换机功能(7.5.0 新增)
    语法:memuc randomize <-i vmindex | -n vmname>
    示例:memuc randomize -i 0
    返回:SUCCESS: change device attributes finished.

二、模拟器配置
**** Hidden Message *****












2278218063 发表于 2019-1-10 19:28:55

好像没有判断模拟器是否运行完毕的,希望楼主有空,发布一下

心芝雨 发表于 2020-11-16 12:01:20

adb shell settings put global http_proxy 127.0.0.1:8888

星期五 发表于 2018-11-19 19:41:58

四、adb命令
1. 描述:支持adb命令
    语法:memuc adb <-i vmindex | -n vmname> <adbcmd>
            <adbcmd> adb命令
    示例:memuc adb -i 0 "remount" // 支持adb命令

代码例子错误
memuc -i 0 "adb shell input tap 100 100"

smilelove55123 发表于 2018-10-26 19:17:29

想問一下 這工具有發布了嗎?

心芝雨 发表于 2018-10-27 14:11:41

命令最低版本需要逍遥安卓模拟器6.0.0.以上版本才可以使用

smilelove55123 发表于 2018-10-29 19:00:16

心芝雨 发表于 2018-10-27 14:11
命令最低版本需要逍遥安卓模拟器6.0.0.以上版本才可以使用

但目前不是只有到5.6.2嗎?

peak 发表于 2018-11-2 10:51:15

smilelove55123 发表于 2018-10-26 19:17
想問一下 這工具有發布了嗎?

在6.0.0版本中会发布

smilelove55123 发表于 2018-11-2 12:07:16

peak 发表于 2018-11-2 10:51
在6.0.0版本中会发布

okay 了解 感謝

abtest123 发表于 2018-11-7 09:55:36

现在的版本怎么获取模拟器进程的ID啊

sIPhqxHTi 发表于 2018-11-12 11:44:53

6.0.0什么时候发布呀

ok963963ok 发表于 2018-11-20 02:09:11

给个建议
能否支持修改模拟器名称
例如指定MEmu_1 的标签为自定义01   
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【官方出品】模拟器命令行合集(memuc命令)