使用说明
以下是 ldconsole
和 dnconsole
的命令行接口使用说明,适用于管理和操作雷电模拟器实例。每个命令后跟随的参数用于指定具体的操作目标或设置。
quit
退出指定的模拟器实例。
- 参数:
--name mnq_name
: 指定模拟器名称。--index mnq_idx
: 指定模拟器索引编号。
# 示例:退出名为 "mySimulator" 的模拟器
ldconsole quit --name mySimulator
# 示例:退出索引为 0 的模拟器
ldconsole quit --index 0
quitall
退出所有正在运行的模拟器实例。
# 示例:退出所有模拟器
ldconsole quitall
launch
启动指定的模拟器实例。
- 参数同
quit
。
# 示例:启动名为 "mySimulator" 的模拟器
ldconsole launch --name mySimulator
reboot
重启指定的模拟器实例。
- 参数同
quit
。
# 示例:重启名为 "mySimulator" 的模拟器
ldconsole reboot --name mySimulator
list
列出所有已创建的模拟器实例名称列表。
# 示例:列出所有模拟器
ldconsole list
list2
列出所有已创建的模拟器实例(可能包含更多详细信息)。
- 字段1: 模拟器索引
- 字段2: 模拟器名称
- 字段3: 底层窗口句柄
- 字段4: 内部窗口句柄
- 字段5: 模拟器状态
- 0 - 未运行
- 1 - 运行
- 字段6:
dnplayer.exe
UID- 未开启显示为 -1
- 开启显示实际进程号
- 字段7:
Ld9BoxHeadless.exe
UID- 未开启显示为 -1
- 开启显示实际进程号
- 字段8: 模拟器宽
- 字段9: 模拟器高
- 字段10: 模拟器DPI
# 示例:列出所有模拟器(详细)
ldconsole list2
list3
列出指定索引编号的模拟器实例信息。
- 参数:
--index <mnq_idx>
: 指定模拟器索引编号。
# 示例:列出索引为 1 的模拟器详情
ldconsole list3 --index 1
runninglist
列出当前正在运行的模拟器实例。
- 字段: 模拟器名称
# 示例:列出所有正在运行的模拟器
ldconsole runninglist
isrunning
检查指定的模拟器是否正在运行。
- 参数同
quit
。 - 字段
running
: 运行stop
: 未运行
# 示例:检查名为 "mySimulator" 的模拟器是否正在运行
ldconsole isrunning --name mySimulator
add
创建一个新的模拟器实例。
- 参数:
--name <mnq_name>
: 指定新模拟器的名称。
# 示例:创建一个名为 "newSimulator" 的模拟器
ldconsole add --name newSimulator
copy
复制现有的模拟器实例。
- 参数:
--name <mnq_name>
: 新模拟器的名称。--from <mnq_name | mnq_idx>
: 要复制的源模拟器名称或索引编号。
# 示例:从索引为 1 的模拟器复制并命名为 "copiedSimulator"
ldconsole copy --name copiedSimulator --from 1
remove
移除指定的模拟器实例。
- 参数同
quit
。
# 示例:移除名为 "oldSimulator" 的模拟器
ldconsole remove --name oldSimulator
rename
重命名指定的模拟器实例。
- 参数:
--name <mnq_name | --index mnq_idx>
: 当前模拟器名称或索引编号。--title <mnq_title>
: 新的标题名称。
# 示例:将索引为 1 的模拟器重命名为 "renamedSimulator"
ldconsole rename --index 1 --title renamedSimulator
modify
修改指定模拟器的配置。
- 参数包括但不限于分辨率、CPU核心数、内存大小等。详见以下详细说明。
# 示例:修改索引为 1 的模拟器配置
ldconsole modify --index 1 --resolution 1280,720,160 --cpu 4 --memory 2048
[--resolution <w,h,dpi>]
[--cpu <1 | 2 | 3 | 4>]
[--memory <256 | 512 | 768 | 1024 | 1536 | 2048 | 4096 | 8192>]
[--manufacturer asus]
[--model ASUS_Z00DUO]
[--pnumber 13800000000]
[--imei <auto | 865166023949731>]
[--imsi <auto | 460000000000000>]
[--simserial <auto | 89860000000000000000>]
[--androidid <auto | 0123456789abcdef>]
[--mac <auto | 000000000000>]
[--autorotate <1 | 0>
[--lockwindow <1 | 0>
[--root <1 | 0>
installapp
安装APK文件到指定的模拟器。
- 参数:
--filename <apk_file_name>
: APK文件路径。--packagename <apk_package_name>
: APK包名。
# 示例:安装名为 "example.apk" 的应用到索引为 1 的模拟器
ldconsole installapp --index 1 --filename example.apk
uninstallapp
卸载指定的应用程序。
- 参数:
--packagename <apk_package_name>
: 应用程序包名。
# 示例:卸载名为 "com.example.app" 的应用
ldconsole uninstallapp --index 1 --packagename com.example.app
runapp
启动指定的应用程序。
- 参数同
uninstallapp
。
# 示例:启动名为 "com.example.app" 的应用
ldconsole runapp --index 1 --packagename com.example.app
killapp
停止指定的应用程序。
- 参数同
uninstallapp
。
# 示例:停止名为 "com.example.app" 的应用
ldconsole killapp --index 1 --packagename com.example.app
locate
设置模拟器的地理位置。
- 参数:
--LLI <Lng,Lat>
: 经度和纬度坐标。
# 示例:设置索引为 1 的模拟器位置为北京(经度:116.4074, 纬度:39.9042)
ldconsole locate --index 1 --LLI 116.4074,39.9042
adb
通过 ADB 命令与模拟器交互。
- 参数:
--command <cmd_str>
: ADB 命令字符串。
# 示例:执行 "shell uptime" 命令获取模拟器运行时间
ldconsole adb --index 1 --command "shell uptime"
setprop
设置系统属性。
- 参数:
--key <name>
: 属性名称。--value <val>
: 属性值。
# 示例:设置 "debug.prop" 的值为 "true"
ldconsole setprop --index 1 --key debug.prop --value true
getprop
获取系统属性。
- 参数:
--key <name>
: 可选,指定要获取的属性名称。如果不指定,则返回所有属性。
# 示例:获取 "debug.prop" 的值
ldconsole getprop --index 1 --key debug.prop
downcpu
降低指定模拟器的 CPU 使用率。
- 参数:
--rate <0~100>
: 设置 CPU 占用比例。
# 示例:将索引为 1 的模拟器 CPU 使用率设为 50%
ldconsole downcpu --index 1 --rate 50
backup
备份模拟器数据。
- 参数:
--file <filepath>
: 备份文件路径。
# 示例:备份索引为 1 的模拟器数据到 "backup.zip"
ldconsole backup --index 1 --file backup.zip
restore
恢复模拟器数据。
- 参数同
backup
。
# 示例:从 "backup.zip" 文件恢复索引为 1 的模拟器数据
ldconsole restore --index 1 --file backup.zip
action
执行自定义动作。
- 参数:
--name mnq_name
: 指定模拟器名称。--index mnq_idx
: 指定模拟器索引编号(name 、index 二者选其一)。--key <name>
: 动作键名。--value <val>
: 动作值。
# 示例:执行名为 "click" 的动作,值为 "100,200"(屏幕坐标)
ldconsole action --index 1 --key click --value 100,200
常见动作键
-
call.input
-
描述: 模拟输入事件,如按键或文本输入。
-
示例:
ldconsole action --index 1 --key call.input --value "Hello World"
-
-
call.shake
-
描述: 模拟设备摇晃。
-
示例:
ldconsole action --index 1 --key call.shake --value ""
-
-
call.locate
-
描述: 设置模拟器的地理位置。
-
示例:
--value
“116.4074,39.9042” (经纬度坐标)
ldconsole action --index 1 --key call.locate --value "116.4074,39.9042"
-
-
call.click
-
描述: 模拟屏幕点击事件。
-
示例:
--value
“100,200” (屏幕坐标)
ldconsole action --index 1 --key call.click --value "100,200"
-
-
call.swipe
-
描述: 模拟滑动操作。
-
示例:
--value
“100,200,300,400,500” (起始x,起始y,结束x,结束y,持续时间ms)
ldconsole action --index 1 --key call.swipe --value "100,200,300,400,500"
-
-
call.press
-
描述: 模拟长按操作。
-
示例:
--value
“100,200,2000” (坐标x,坐标y,持续时间ms)
ldconsole action --index 1 --key call.press --value "100,200,2000"
-
-
call.keyevent
-
描述: 模拟按键事件。
-
示例:
--value
“KEYCODE_HOME” (Android 键码)
ldconsole action --index 1 --key call.keyevent --value "KEYCODE_HOME"
-
-
call.screenshot
-
描述: 获取模拟器屏幕截图。
-
示例:
ldconsole action --index 1 --key call.screenshot --value "/path/to/save/screenshot.png"
-
-
call.volume
-
描述: 调整音量。
-
示例:
# 增加音量 ldconsole action --index 1 --key call.volume --value "up" # 减小音量 ldconsole action --index 1 --key call.volume --value "down"
-
-
call.power
-
描述: 模拟电源按钮按下。
-
示例:
ldconsole action --index 1 --key call.power --value ""
-
-
call.network
-
描述: 修改网络状态。
-
示例:
--value
“wifi” (模拟 Wi-Fi 网络连接)--value
“mobile” (模拟移动数据(蜂窝数据)网络连接)--value
“none” (断开所有网络连接)
ldconsole action --index 1 --key call.network --value "wifi"
-
-
call.battery
-
描述: 修改电池电量。
-
示例:
ldconsole action --index 1 --key call.battery --value "50"
-
-
call.time
-
描述: 设置系统时间。
-
示例:
ldconsole action --index 1 --key call.time --value "2023-01-01 12:00:00"
-
-
call.telephony
-
描述: 模拟电话状态。
-
示例:
--value
“incoming” (模拟来电 - 接听电话)--value
“outgoing” (模拟拨打电话 - 打出电话)--value
“idle” (模拟空闲状态 - 无电话活动)
ldconsole action --index 1 --key call.telephony --value "incoming"
-
-
call.sensor
-
描述: 修改传感器数据。
-
示例1: 加速度计 (Acceleration)
-
含义: 模拟设备的线性加速度。
-
格式:
"acceleration:x=<float>,y=<float>,z=<float>"
ldconsole action --index 1 --key call.sensor --value "acceleration:x=1.0,y=2.0,z=3.0"
-
-
示例2: 陀螺仪 (Gyroscope)
-
含义: 模拟设备的角速度。
-
格式:
"gyroscope:x=<float>,y=<float>,z=<float>"
ldconsole action --index 1 --key call.sensor --value "gyroscope:x=0.5,y=-0.3,z=0.8"
-
-
示例3: 磁力计 (Magnetic Field)
-
含义: 模拟地磁场强度。
-
格式:
"magnetic_field:x=<float>,y=<float>,z=<float>"
ldconsole action --index 1 --key call.sensor --value "magnetic_field:x=49.0,y=5.0,z=62.0"
-
-
示例4: 重力传感器 (Gravity)
-
含义: 模拟重力加速度。
-
格式:
"gravity:x=<float>,y=<float>,z=<float>"
ldconsole action --index 1 --key call.sensor --value "gravity:x=0.0,y=0.0,z=9.8"
-
-
示例5: 线性加速度传感器 (Linear Acceleration)
-
含义: 模拟去除重力影响后的加速度。
-
格式:
"linear_acceleration:x=<float>,y=<float>,z=<float>"
ldconsole action --index 1 --key call.sensor --value "linear_acceleration:x=1.0,y=0.0,z=0.0"
-
-
示例6: 旋转矢量 (Rotation Vector)
-
含义: 模拟设备的方向(旋转角度)。
-
格式:
"rotation_vector:x=<float>,y=<float>,z=<float>,cos=<float>"
ldconsole action --index 1 --key call.sensor --value "rotation_vector:x=0.0,y=0.0,z=0.0,cos=1.0"
-
-
示例7: 温度传感器 (Temperature)
-
含义: 模拟环境温度。
-
格式:
"temperature:<float>"
ldconsole action --index 1 --key call.sensor --value "temperature:25.5"
-
-
示例8: 光传感器 (Light)
-
含义: 模拟环境光照强度。
-
格式:
"light:<float>"
ldconsole action --index 1 --key call.sensor --value "light:500.0"
-
-
示例9: 压力传感器 (Pressure)
-
含义: 模拟大气压强。
-
格式:
"pressure:<float>"
ldconsole action --index 1 --key call.sensor --value "pressure:1013.25"
-
-
示例10: 接近传感器 (Proximity)
-
含义: 模拟物体与设备的距离(通常用于检测手机是否靠近耳朵)。
-
格式:
"proximity:<float>"
ldconsole action --index 1 --key call.sensor --value "proximity:5.0"
-
-
示例11: 湿度传感器 (Humidity)
-
含义: 模拟相对湿度。
-
格式:
"humidity:<float>"
ldconsole action --index 1 --key call.sensor --value "humidity:60.0"
-
-
注意事项
- 权限: 确保你有足够的权限来执行这些命令。
- 环境配置: 确保你的环境中已经配置好 ADB 工具,并且能够识别
ldconsole
或dnconsole
命令。 - 版本差异: 不同版本的雷电模拟器可能会有不同的
action
支持,建议查阅对应版本的官方文档获取最准确的支持列表。 - 参数格式: 对于复杂的参数,如地理坐标、屏幕坐标等,请确保格式正确无误。
scan
扫描文件。
- 参数:
--file <filepath>
: 文件路径。
# 示例:扫描索引为 1 的模拟器中的 "example.txt" 文件
ldconsole scan --index 1 --file example.txt
sortWnd
对窗口进行排序。
# 示例:对所有模拟器窗口进行排序
ldconsole sortWnd
zoomIn
放大模拟器窗口。
# 示例:放大索引为 1 的模拟器窗口
ldconsole zoomIn --index 1
zoomOut
缩小模拟器窗口。
# 示例:缩小索引为 1 的模拟器窗口
ldconsole zoomOut --index 1
rock
摇动模拟器设备。
# 示例:摇动索引为 1 的模拟器设备
ldconsole rock --index 1
pull
从模拟器拉取文件到本地。
- 参数:
--remote <filepath>
: 远程文件路径。--local <filepath>
: 本地文件路径。
# 示例:从索引为 1 的模拟器中拉取 "example.txt" 到本地 "C:\temp\example.txt"
ldconsole pull --index 1 --remote /sdcard/example.txt --local C:\temp\example.txt
push
推送本地文件到模拟器。
- 参数同
pull
。
# 示例:推送本地 "C:\temp\example.txt" 到索引为 1 的模拟器 "/sdcard/example.txt"
ldconsole push --index 1 --local C:\temp\example.txt --remote /sdcard/example.txt
backupapp
备份应用程序数据。
- 参数:
--packagename <apk_package_name>
: 应用程序包名。--file <filepath>
: 备份文件路径。
# 示例:备份名为 "com.example.app" 的应用数据到 "app_backup.zip"
ldconsole backupapp --index 1 --packagename com.example.app --file app_backup.zip
restoreapp
恢复应用程序数据。
- 参数同
backupapp
。
# 示例:从 "app_backup.zip" 文件恢复名为 "com.example.app" 的应用数据
ldconsole restoreapp --index 1 --packagename com.example.app --file app_backup.zip
globalsetting
设置全局配置选项。
- 参数:
--fps <0~60>
: 设置帧率。--audio <1 | 0>
: 启用/禁用音频。--fastplay <1 | 0>
: 启用/禁用快速播放模式。--cleanmode <1 | 0>
: 启用/禁用清洁模式。
# 示例:启用音频并设置帧率为 30
ldconsole globalsetting --fps 30 --audio 1
launchex
扩展启动命令,可以附加额外参数启动应用。
- 参数:
--packagename <apk_package_name>
: 应用程序包名。
# 示例:启动名为 "com.example.app" 的应用,并附加额外参数
ldconsole launchex --index 1 --packagename com.example.app
operatelist
列出操作记录。
# 示例:列出索引为 1 的模拟器操作记录
ldconsole operatelist --index 1
operateinfo
获取操作记录信息。
- 参数:
--file <filename>
: 操作记录文件名。
# 示例:获取索引为 1 的模拟器操作记录信息并保存到 "operation_info.txt"
ldconsole operateinfo --index 1 --file operation_info.txt
operaterecord
记录操作内容。
- 参数:
--content <jsonstring>
: 操作内容 JSON 字符串。
# 示例:记录索引为 1 的模拟器操作内容
ldconsole operaterecord --index 1 --content '{"action":"click","position":[100,200]}'
注意事项
- 权限:确保你有足够的权限来执行这些命令。
- 路径:对于文件路径,请确保路径格式正确且文件存在。
- 参数顺序:某些命令要求特定的参数顺序,请严格按照文档示例执行。
- 环境配置:确保你的环境中已经配置好 ADB 工具,并且能够识别
ldconsole
或dnconsole
命令。