• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.3.0
软件大小:62.5M
更新时间:5-24

按键精灵iOS版
立即下载

软件版本:1.3.3
软件大小:29.2M
更新时间:06-14

最新企业版UiBot
立即下载

软件版本:1.1
软件大小:190M
更新时间:01-16

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
发新话题 回复该主题

[源码分享] 雷电安卓模拟器命令行整理贴 [复制链接]

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

    已有1评分我要评分查看所有评分

    雷电模拟器技术交流群:390643657
    2#




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


    1、launch 支持3种启动雷电安卓的方式
    --name顾名思义,应该是模拟器的标题栏的名字,本人经过验证果然如此!
    --index mnq_idx,模拟器的索引,第一个是0,第二个是1,以此类推...还有一种location的方式不介绍,也不推荐使用了。

    (开发时,建议全部用 --name !可控性好,name完全可以自己控制)

    写个例子吧,启动默认模拟器的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


    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参数既可以是名字也可以是索引,判断规则为如果全数字就认为是索引,否则是名字

    雷电模拟器技术交流群:390643657
    3#

    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>




    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的麻烦,并且最重要的是大家从此只需要关心name就可以了,不用关心index,比如取某个模拟器种的包列表:
    dnconsole.exe adb --name *** --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,效果很好!




    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 <name> --value <val>

    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 <filepath>
    restore <--name mnq_name | --index mnq_idx> --file <filepath>


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

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

    雷电模拟器技术交流群:390643657
    4#

    默默问句,这里怎么上传图片

    点评

    gljxsd  图片不能是中文名. 其他注意事项 在上传界面有写  发表于 2018/1/11 19:38:12

    最后编辑雷电模拟器 最后编辑于 2018-01-09 17:28:39
    雷电模拟器技术交流群:390643657
    5#

    有大神教下我吗

    雷电模拟器技术交流群:390643657
    6#

    这些命令怎么用在按键精灵上呢

    按键精灵安卓版编写脚本零基础课程【视频教程】

    公众号:3分钟学堂
    7#

    哪里不会用

    雷电模拟器技术交流群:390643657
    8#

    有不会的用的吗

    雷电模拟器技术交流群:390643657
    9#

    早上好!

    雷电模拟器技术交流群:390643657
    10#

    略屌 ...


    以建会友,共同学习,共同进步。无偿帮助解答各种简单小问题。

    11#

    这是。。。。

    雷电模拟器技术交流群:390643657
    12#

    回复 4楼雷电模拟器的帖子

    还是不会

    雷电模拟器技术交流群:390643657
    13#

    好的

    14#

    谢谢

    雷电模拟器技术交流群:390643657
    15#


    雷电模拟器技术交流群:390643657
    16#

    早上好

    雷电模拟器技术交流群:390643657
    17#
    18#

    怎么了?亲

    雷电模拟器技术交流群:390643657
    19#
    雷电模拟器技术交流群:390643657
    20#

    早上好

    雷电模拟器技术交流群:390643657
    发新话题 回复该主题