多语言展示
当前在线:191今日阅读:26今日分享:39

安卓模拟器命令行教程贴

在正式开始之前,先得介绍点基础知识。
方法/步骤
1

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

2

可以看到,目前提供的命令还不多,不过都是最常用最重要的命令啦,相信安卓的攻城狮会不断完善的。让我们一起来看看各个命令吧~1、launch 支持3种启动雷电安卓的方式--name顾名思义,应该是模拟器的标题栏的名字,本人经过验证果然如此!--index mnq_idx,模拟器的索引,第一个是0,第二个是1,以此类推...还有一种location的方式不介绍,也不推荐使用了。(开发时,建议全部用 --name !可控性好,name完全可以自己控制)写个例子吧,启动默认模拟器的2种方法:dnconsole.exe launch --name 模拟器dnconsole.exe launch --index 02、quit 退出模拟器也提供了3种退出方式,和launch对应,不再累述。3、quitall 退出模拟器退出所有开着的模拟器。4、属性设置部分精彩部分来了,同样,修改属性时也要指定需要修改的是哪个模拟器的属性(多开的情况),仍然采用的是以上的3种方式,雷电安卓目录提供的属性字段有:

3

modify <--name mnq_name | --index mnq_idx>    [--resolution ] // 自定义分辨率    [--cpu <1 | 2 | 3 | 4>] // cpu设置    [--memory <512 | 1024 | 2048 | 4096 | 8192>] // 内存设置    [--manufacturer asus] // 手机厂商    [--model ASUS_Z00DUO] // 手机型号    [--pnumber ] // 手机号码    [--imei ] // imei设置,auto就自动随机生成            [--imsi ]        [--simserial ]    [--androidid ]    [--mac ] //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

4

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

5

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

6

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

7

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

8

9、复制模拟器copy [--name mnq_name] --from 注意:from参数既可以是名字也可以是索引,判断规则为如果全数字就认为是索引,否则是名字

9

10、删除模拟器remove <--name mnq_name | --index mnq_idx>11、新增,复制,查询的例子

10

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

11

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

12

14、setprop/getprop/adbsetprop <--name mnq_name | --index mnq_idx> --key name --value valgetprop <--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'

13

15、downcpudowncpu <--name mnq_name | --index mnq_idx> --rate <0~100>本人测试,downcpu --index 0 --rate 50,效果很好!(需要2.0.31以上的模拟器版本)16、list2期待已久的命令终于出来了!!!雷电万岁!!!真正解决了我们用户的苦恼啊,有木有!!!F:\changzhi\dnplayer2>dnconsole.exe list20,模拟器,2032678,1704928,1,7456,35001,模拟器-1,852422,590830,1,3772,3180list2命令出来,原来的list,runninglist,isrunning全部可以不要了,而且比原来这3个命令的总和还要强大!list2一次性返回了多个信息,依次是:索引,标题,顶层窗口句柄,绑定窗口句柄,是否进入android,进程PID,VBox进程PID更强大的是,即使标题相同,也不会错误!完美一一对应的返回全部信息啦。

14

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

15

18、rename 话说经常改名字是什么梗。。。rename [--name ] --title

16

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 backdnconsole.exe action --name *** --key call.reboot --value com.android.settingsdnconsole.exe action --name *** --key call.locate --value 12.3,45.6dnconsole.exe action --name *** --key call.shake --value null如果你是编写apk类型的脚本,也可以这样做;

17

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

18

21、文字输入命令(支持中文,2.0.42以上支持,action命令的扩展)格式参考18dnconsole.exe action --name *** --key call.input --value ***

推荐信息