雷电安卓模拟器 之 命令行整合备用

0,首先,开始之前,你得找到雷电安卓模拟器命令行程序,在安装目录下dnconsole.exe,雷电安卓的很多执行文件都是以dn打头的,一直没想明白是啥意思,有管理告知一下吗~~
不管三七二十八,先cmd执行试试,好像还不错,有usage提示的:

可以看到,目前提供的命令还不多,不过都是最常用最重要的命令啦,相信雷电安卓的攻城狮会不断完善的。让我们一起来看看各个命令吧~

1、launch 支持2种启动雷电模拟器的方式
–name顾名思义,应该是模拟器的标题栏的名字,本人经过验证果然如此!
–index mnq_idx,模拟器的索引,第一个是0,第二个是1,以此类推。。。。。。

写个例子吧,启动默认模拟器的2种方法:
dnconsole.exe launch --name 雷电模拟器
dnconsole.exe launch --index 0

2、quit 退出模拟器
也提供了3种退出方式,和launch对应,不再累述。

3、quitall 退出模拟器
退出所有开着的模拟器。

4、属性设置部分
精彩部分来了,同样,修改属性时也要指定需要修改的是哪个模拟器的属性(多开的情况),仍然采用的是以上的3种方式,雷电安卓目录提供的属性字段有:

modify <–name mnq_name | --index mnq_idx>
[–resolution <w,h,dpi>] // 自定义分辨率
[–cpu <1 | 2 | 3 | 4>] // cpu设置
[–memory <512 | 1024 | 2048 | 4096 | 8192>] // 内存设置
[–manufacturer asus] // 手机厂商
[–model ASUS_Z00DUO] // 手机型号
[–pnumber 13812345678] // 手机号码
[–imei <auto | 865166023949731>] // imei设置,auto就自动随机生成
[–imsi <auto | 460000000000000>]
[–simserial <auto | 89860000000000000000>]
[–androidid <auto | 0123456789abcdef>]
[–mac <auto | 000000000000>] //12位m16进制mac地址
[–autorotate <1 | 0>]
[–lockwindow <1 | 0>]

好吧,我写个例子,修改默认模拟器的分辨率为600*360,dpi 160,cpu为1核,内存1024,imei随机,这样写:
dnconsole.exe modify --index 0 --resolution 600,360,160 --cpu 1 --memory 1024 --imei auto

注:调用modify需要在模拟器启动前,不然可能不生效

5、查询模拟器(过时,不推荐使用,请看list2)
list

6、查询运行中的模拟器(过时,不推荐使用,请看list2)
runninglist

7、判断指定模拟器是否在运行状态(过时,不推荐使用,请看list2)
isrunning <–name mnq_name | --index mnq_idx>

8、新增模拟器
add [–name mnq_name]

9、复制模拟器
copy [–name mnq_name] --from <mnq_idx>

注意:from参数既可以是名字也可以是索引,判断规则为如果全数字就认为是索引,否则是名字

10、删除模拟器
remove <–name mnq_name | --index mnq_idx>

11、新增,复制,查询的例子

12、安装、卸载、启动、关闭命令
installapp <–name mnq_name | --index mnq_idx> --filename <apk_file_name>
installapp <–name mnq_name | --index mnq_idx> --packagename <apk_package_name> (2.0.46及以上版本支持)
uninstallapp <–name mnq_name | --index mnq_idx> --packagename <apk_package_name>
runapp <–name mnq_name | --index mnq_idx> --packagename <apk_package_name>
killapp <–name mnq_name | --index mnq_idx> --packagename <apk_package_name>

13、修改定位信息(需要1.6以上的模拟器版本)
locate <–name mnq_name | --index mnq_idx> --LLI <Lng,Lat>
骚年们,去装B吧!想在哪里你就在那里!

上面的命令需要重启模拟器才生效, 下面这个命令能实时生效(看action命令):
action <–name mnq_name | --index mnq_idx> --key call.locate --value 12.3,45.6

14、setprop/getprop/adb(需要1.7.0.10以上的模拟器版本)
setprop <–name mnq_name | --index mnq_idx> --key name --value val
getprop <–name mnq_name | --index mnq_idx> --key name(name不为空,get所有属性这样写:getprop --index 0 即可)

也许你已经看出这2个命令似曾相识啦,没错,这2个就是adb的标准命令!大概是雷电为了方便大家,同时保持命令行风格语法的一致而做的包装吧,这极大地减低了各位的学习成本,毕竟adb的命令还是比较复杂的!

还不止这些,有些是adb做不到的,比如:
setprop --index 0 --key “phone.imei” --value “auto”
setprop --index 0 --key “phone.imsi” --value “auto”
setprop --index 0 --key “phone.simserial” --value “auto”

另外,adb命令解决大家使用-s的麻烦,不需要再关心每个模拟器对应的adb连接端口的概念,比如取某个模拟器中的包列表:
dnconsole.exe adb --name “雷电模拟器” --command “shell pm list packages”
dnconsole.exe adb --index 0 --command “shell pm list packages”

15、downcpu(需要1.8.0.5以上的模拟器版本)
downcpu <–name mnq_name | --index mnq_idx> --rate <0~100>
本人的问道游戏测试,downcpu --index 0 --rate 50,效果很好!

(需要2.0.31以上的模拟器版本)
16、list2
期待已久的命令终于出来了!!!雷电万岁!!!真正解决了我们用户的苦恼啊,有木有!!!
F:\changzhi\dnplayer2>dnconsole.exe list2
0,雷电模拟器,2032678,1704928,1,7456,3500
1,雷电模拟器-1,852422,590830,1,3772,3180

list2命令出来,原来的list,runninglist,isrunning全部可以不要了,而且比原来这3个命令的总和还要强大!
list2一次性返回了多个信息,依次是:
索引,标题,顶层窗口句柄,绑定窗口句柄,是否进入android,进程PID,VBox进程PID
更强大的是,即使标题相同,也不会错误!完美一一对应的返回全部信息啦。

17、reboot
终于不用先关闭,再延时,然后打开了。
reboot <–name mnq_name | --index mnq_idx>

18、rename
话说经常改名字是什么梗。。。
rename [–name <mnq_name | --index mnq_idx>] --title <mnq_title>

19、action 命令
动态执行动作命令,想做什么,立即执行。
支持安卓内部操作,shell命令操作。

action <–name mnq_name | --index mnq_idx> --key --value

call.reboot packagename/null //重启模拟器,启动后并打开 packagename 应用, null 表示不打开任何应用
call.keyboard back/home/menu/volumeup/volumedown //执行安卓按键
call.locate lng,lat //设置地点,经度,维度
call.shake null //摇一摇

例子:
dnconsole.exe action --name *** --key call.keyboard --value back
dnconsole.exe action --name *** --key call.reboot --value com.android.settings
dnconsole.exe action --name *** --key call.locate --value 12.3,45.6
dnconsole.exe action --name *** --key call.shake --value null

如果你是编写apk类型的脚本,也可以这样做;

20、备份,还原命令
backup <–name mnq_name | --index mnq_idx> --file
restore <–name mnq_name | --index mnq_idx> --file

21、文字输入命令(支持中文,2.0.42以上支持,action命令的扩展)

格式参考18
dnconsole.exe action --name *** --key call.input --value ***

22、雷电 adb shell 命令参考帖子(2.0.44以上支持)
https://www.ldmnq.com/forum/forum.php?mod=viewthread&tid=9178

23、断开和连接网络命令(2.0.53以上版本支持)
断开网络
dnconsole.exe action --name *** --key call.network --value offline
连接网络
dnconsole.exe action --name *** --key call.network --value connect

24、二维码扫描命令(3.0.8以上版本支持, 需要app先启动扫描,再调用这个命令)

filePath 是带有二维码的图片路径
dnconsole.exe qrpicture --name *** --file

3.18版本改名scan.
dnconsole.exe scan --name *** --file c:\xxxx.jpg

25、音量减小命令(启动按键精灵)

dnconsole.exe action --name *** --key call.keyboard --value volumedown

26、一键排序(在多开器配置排序规则, 3.18以上版本支持)

dnconsole.exe sortWnd

###3.53模拟器重大更新

27、启动扩展命令(启动模拟器后自动打开某一应用)

dnconsole.exe launchex --index 0 --packagename “com.android.settings”

28、全局设置

dnconsole.exe globalsetting --fps 10 --audio 0 --fastplay 1 --cleanmode 1

fps:模拟器帧率[0, 60]
audio:音频,打开=1,关闭=0
fastpaly : 快速显示模式,打开=1,关闭=0
cleanmode :干净模式,去除广告,打开=1,关闭=0

猜你喜欢

转载自blog.csdn.net/Memroy/article/details/104989817
今日推荐