genymotion是一款号称速度最快性能最好的android模拟器,它基于Oracle VM VirtualBox。支持GPS、重力感应、光、温度等诸多传感器;支持OpenGL 3D加速;电池电量模拟;能够运行在windows、linux、mac系统下;并提供的有eclipse下的插件,可以支持在eclipse下进行应用开发测试。
(一)首先介绍下如何下载并运行genymotion模拟器
在http://www.genymotion.com/网站上点击sign up按钮开始进行注册。
填写相关注册信息
完成注册后会提示你有邮件发到你上一步填写的邮箱去激活账户
在邮箱里激活刚注册的账户
激活刚注册的账户会提示你可以开始下载genymotion
登陆刚注册的账户
选择下载genymotion
选择包含virtualbox的genymotion-1.0-vbox.exe进行下载
下载完genymotion-1.0-vbox.exe,运行该exe按照默认的选项一路安装下去即可
安装完成后在桌面上会发现genymotion命令行工具图标:Genymotion Shell;genymotion程序图标:Genymotion:Genymotion;以及虚拟机Oracle VM VirtualBox的图标。
点击Genymotion图标运行genymotion会提示你需要创建虚拟设备,点击yes按钮开始创建虚拟设备。
使用注册好的用户名和密码连接服务器
连接好服务器后开始添加自己需要的虚拟机
按Next按钮创建虚拟设备
点击Next
点击Create按钮
创建完成
运行虚拟设备
设置android SDK目录
再次运行genymotion中的虚拟设备
使用起来确实比google提供的模拟器流畅不少
(二)安装安兔兔进行测分
genymotion模拟器的安兔兔测试得分
google模拟器的安兔兔测试得分:
安兔兔测得在同一台电脑上同是Nexus 480X800的虚拟设备genymotion分值高达13836,而http://blog.csdn.net/yearafteryear/article/details/9255431测试得到的google模拟器只有区区953,genymotion在各项参数上均表现好不少。
(三)在eclipse下安装genymotion插件
启动eclipse,选择Help->Install New Software菜单
点击add按钮
填入Genymobile、http://plugins.genymotion.com/eclipse点击OK按钮
选择genymotion相关插件选项进行安装
接受相关协议
忽略相关警告
提示重启eclipse即已经完成genymotion插件的安装,点击yes按钮重启eclipse
重启eclipse会在工具栏上发现genymotion的图标,点击即可启动该插件。
第一次启动genymotion插件需要填入genymotion的安装目录:C:\Program Files\Genymobile\Genymotion
(四)调试应用程序,这里我调试一个OpenGL的程序。发现OpenGL的程序在genymotion上运行的很好。
点击eclipse上的genymotion插件图标,在弹出的对话框选择以前创建的虚拟设备启动。
在eclipse下的工程项目上单击鼠标右键,在弹出的菜单里选择Run as->Run Configurations.
在Run Configurations对话框选择下面的选项即可
之后运行工程项目即可发现当前的这个opengl项目在genymotion上能很流畅的运行
(五)genymotion shell命令行工具
可在genymotion shell下输入相关指令获取一些信息或者设置一些参数之类
genymotion shell支持的命令行如下所示:
Command line options
-h
Print help-r ip_address
Connect to specific Genymotion Virtual Device-c "command"
Execute the given command in genyshell environment and return-f
file Execute the content of the file. Each command per line
Available commands
battery getmode
Return the current battery mode of the selected virtual device. The mode can only be:host
: The virtual battery reflect the host battery (if exists)manual
: In this mode, you can set the level and status battery values
battery setmode
Set the battery mode. The mode can only be:host
: The virtual battery reflect the host battery (if exists)manual
: In this mode, you can set the level and status battery values
battery getlevel
Return the current battery amount of power. The value can only be between 0% and 100%.
If the battery mode is "host", the returned value is the host value.battery setlevel
Set the current battery amount of power. The value can only be between 0% and 100%.
Set the battery level force the "manual" mode: if the last mode was "host", then it‘s turned to "manual"battery getstatus
Return the current battery status. There are 4 possible status:Discharging
: The power supply is disconnected and the battery is discharging.Charging
: The power supply is connected and the battery is charging.Full
: The battery is full.Unknown
: Sometimes, the battery status cannot be established, it happens when there is no host battery.
battery setstatus
Set the current battery status. There are 4 possible status:Discharging
: The power supply is disconnected and the battery is discharging.Charging
: The power supply is connected and the battery is charging.Full
: The battery is full.Unknown
: Sometimes, the battery status cannot be established, it happens when there is no host battery.
devices list
List available Genymotion virtual devices and provides details like current states or IP address.devices ping
Send a ping message to check if virtual device if respondingdevices refresh
Refresh Genymotion virtual device list. Use it to keep the list up-to-date.devices select
Select the Genymotion virtual device you want to interact with.devices show
List available Genymotion virtual devices and provides details like current states or IP address
gps activate
Activate the GPS sensor (if not already activated)gps desactivate
Desactivate the GPS sensor (if activated)gps getlatitude
Return the actual latitude (if GPS is activated AND already has a latitude) or 0gps setlatitude
Set latitude (and activate GPS if not allready activated)gps getlongitude
Return the actual longitude (if GPS is activated AND allready has a longitude) or 0gps setlongitude
Set longitude (and activate GPS if not allready activated)gps getaltitude
Return the actual altitude (if GPS is activated AND allready has a altitude) or 0gps setaltitude
Set altitude (and activate GPS if not allready activated)gps getaccuracy
Return the actual accuracy in meters (if GPS is activated AND allready has a accuracy) or 0gps setaccuracy
Set accuracy (and activate GPS if not allready activated)gps getorientation
Return the actual orientation in meters (if GPS is activated AND allready has a orientation) or 0gps setorientation
Set orientation (and activate GPS if not allready activated)
android version
Return the Android version of the selected virtual devicebuild number
Return the genymotion shell build numberhelp
Prompt the help.pause
Pause execution (in number of seconds).version
Return GenyShell version.exit
orquit
Close Genymotion Shell.