首页 > 代码库 > 在命令行上启动genymotion虚拟机

在命令行上启动genymotion虚拟机

自从有了genymotion,多机联调就解放了,一台电脑运行两个genymotion虚拟机毫无压力,不过也看用的是哪种os image,之前我以为google自己的Nexus应该最适应,哪知道开起来比sdk里模拟器还慢,后来下载了个小屏幕的motorola4.1,才真正享受了genymotion的飞速之快。

但是在mac上,genymotion的启动很成问题,点图标第一次启的是管理器,但运行好几个虚拟机后一般会把管理器关掉,可是有时候某个虚拟机挂了需要重新打开管理器,而这时再点图标居然没反应,估计是看见还有一个虚拟机在它就认为程序已经在运行了!真是蛋疼,只好把还在运行的虚拟机也叉了,整个重头来过!

终于,忍不住整了一个命令行上启动虚拟机的脚本,以后再也不需要开管理器了(除了新建。。)

geny ()
{
if [ x$1 == x ]; then
VBoxManage list vms;
return;
fi;
device=$(VBoxManage list vms | sed -n $1p | sed s/\"\(.*\)\".*/\1/g);
echo $device;
set -x;
nohup ~/genymotion/player --vm-name "$device" &
}

简单解释一下:首先支持不带参数时,用VBoxManage list vms可以列出所有的虚拟机。看好了再传一个序号进去,切出此机的名字,传给genymotion自己的player(也就是虚拟机程序)去运行即可。