用 Android-X86 和 VirtualBox 玩安卓游戏
目前的系统是 Ubuntu 14.04,近日玩了玩 flash 版的《皇家禁卫军:前线》塔防游戏,还是想试试原生安卓游戏的表现。发现大概有两个选择:
各类安卓模拟器:官方SDK模拟器,bluestacks(win),Genymotion(跨平台)
Android-x86, 这个牛B的开源项目将Android移植到了x86平台,这样就能直接在PC或虚拟机上流畅的运行了。
系统已装 vbox,所以直接第二个选择。
1.下载Android-x86系统镜像文件
首先到http://www.android-x86.org/download下载
目前最新版为4.4r1,镜像文件大约300多MB
2.在VirtualBox上创建虚拟机
新建操作系统选择Linux,版本选择Linux 2.6/3.0
虚拟机创建好之后,还需要修改一些配置
网卡控制芯片选择PCnet-PCI III,声音控制芯片设置为soundblaser 16
把虚拟机的光驱设置为刚才下载的Android-x86 iso之后,启动虚拟机,开始安装
3.安装Android-x86到虚拟机
安装Android到硬盘,选择 Install Android-x86 to harddisk
接下来会进入安装界面,选择如下:
Chooes Patition 选 Create/Modify Partition,OK ==> New ==> primary ==> size使用默认大小==> bootable ==> Write ==> yes ==> Quit
然后选第一个分区,OK ==> 选文件系统格式(Ext3)==> yes,格式化 ==> 安裝GRUB ==> 是否提供 /system可写入(设为读写可以更方便的debug,但是会占用更多的空间和安装时间),选择yes ==> 开始安裝 android ==> 重新启动(reboot)。
注意把虚拟机的光驱卸载掉,重启后会自动进入android系統
4.自定义虚拟机分辨率
开发时肯定需要测试不同的分辨率,虽然我不开发,但软件在奇葩分辨率下能不能工作,这值得怀疑。所以还是设设吧
先设定Virtual Box
VBoxManage.exe" setextradata "Android-x86" "CustomVideoMode1" "800x480x16"
其中 Android-x86 是虚拟机的名称,800x480x16 这个是自定义分辨率,我改成了横版分辨率,后面的16指的是16位颜色,勿修改
修改完毕之后,启动虚拟机,在Android的启动画面选中选项后按两次e键编辑内核启动参数,增加一个参数 vga=ask
编辑完毕后按回车保存修改结果,这时会回到上一个页面,此时按下b键启动
此时系统会提示你按回车进入分辨率选择界面,按回车继续
进入页面之后,你可以看到所有系统支持的分辨率,这时寻找先前设定的 800x480 的分辨率,注意其前面的16进制代码360,如果想以该分辨率启动虚拟机,输入360再回车即可
如果想Android在启动时直接用指定分辨率启动虚拟机,那么可以编辑 grub 的 menu.list 文件,在第一个 kernel 那一行的末尾增加 vga=360 后保存
补充:虚拟机中主页、返回、关机、菜单对应的键盘按键
Home键 -> Win键
菜单键 -> 键盘菜单键,一般在右边win键和ctrl键中间
返回键:鼠标右键/Esc键
关机键:End键/F4键(2.2是短按。2/3好像是长按)
返回主界面:Home键/Windows键
中英文切换:Space+Shift
5.安装游戏
那么能否在主机上下载,再拷贝到虚拟机中安装呢?答案是能。需要使用官方SDK中的 adb 命令
6.鼠标操控
有些平板可以接上 usb 键鼠进行操作,界面上会出现模拟鼠标。其实这个系统就可以模拟安卓平板,把虚拟机检测到的 usb 鼠标设备直接分配给虚拟机使用就可以了!~~
主机可以用触摸板顶上,呵呵
Enjoy!
用 Android-X86 和 VirtualBox 玩安卓游戏的更多相关文章
- 【用PS3手柄在安卓设备上玩游戏系列】谈安卓游戏对手柄的支持
不同的游戏对于手柄的支持程度是不一样的,对应所需要进行的手柄设置也不尽相同.我没有这样的时间和精力,针对每一款游戏去写博客,但找出不同游戏中的共同点,针对同一类的游戏去写博客,应该是可行的.我把安卓上 ...
- VirtualBox 修改Android x86虚拟机的分辨率
首先说明一下,本人使用的是Windows下的VirtualBox,android x86使用的是9.0-r2版本 一.查看virtualbox中已有的分辨率 启动虚拟机后,连续按两次E键,进入下面页面 ...
- Eclipse连接VirtualBox中的Android x86
Android x86 Alt+F1打开命令行,命令netcfg查看当前ip,记住,然后Alt+F7回界面. Eclipse-Window-Preferences-Android-DDMS-Use A ...
- ubuntu下安装RemixOS双系统(Android x86)
这篇文章主要讲在怎样在ubuntu下安装RemixOS pc版(Android x86版本号),下面两种做法的思路都适合安装不论什么版本号的Android x86版本号到ubuntu系统上,仅仅须要改 ...
- 适合码农工作时玩的游戏:Scrum
适合码农工作时玩的游戏:Scrum 昨天遇到一个来自微软的面试者,在面试的最后,我简单介绍了一下我们团队使用一周一次的 Scrum 来做项目管理.他回答说:” 我在微软也用 Scrum,不过我们一周两 ...
- Unity开发Android应用程序:调用安卓应用程序功能
开发环境: Eclipse3.4 + adt12 + jdk6 + AndroidSDK2.2 Unity3.4 + windows7 测试设备: HTC Desire HD 本文要涉及到的几个重点问 ...
- 使用android x86进行android应用开发.
首发论坛 安卓巴士.id:android_bin 一.必备工具: 1.虚拟机软件(本文使用virtual Box为例), 2.android x86镜像,下载地址http://www.android- ...
- Android:谈一谈安卓应用中的Toast情节(基础)
前言 Toast,这个曾经也是现在正在迷倒万千软件开发者尤其是android开发者的小美女,向来不乏在各个明星应用中频繁登场.Toast是神马~听说是一种吐司面包,能吃吗?如果手机屏幕是巧克力做的,我 ...
- 玩QQ游戏,见到好几个图像是美女的QQ,就不始玩
玩QQ游戏,见到好几个图像是美女的QQ,光占坑就是不开始玩 加了一个,发现是传播不良网站的QQ 聊天还是自动的 估计是利用webqq写的程序,也就那几句话来回重复,让你去注册网站什么 可以加这个Q去体 ...
随机推荐
- Chrome不能登录和同步的解决方法
打开 C:\Windows\System32\drivers\etc 下的 hosts文件 #SmartHosts START #Google Services START .docs.google. ...
- linux中的虚拟化网络模型及各种模型实现
第一种隔离模型: Guest1和Guest2都为虚拟机. 首先要了解在linux中的虚拟机的网卡都包含前半段和后半段,前半段在虚拟机上,后半段在宿主机上,这里以centos6为例,上图 eth0为Gu ...
- php时间转换unix时间戳
本文介绍了php编程中unix时间戳转换的小例子,有关php时间转换.php时间戳的实例代码,有需要的朋友参考下. 第一部分,php 时间转换unix 时间戳实现代码. 复制代码代码示例: <? ...
- Modoer列表页性能分析及优化
在 http://www.modoer.org/beijing/item/list-8 的页面中,会执行以下2个sql SELECT s.sid,pid,catid,domain,name,avgso ...
- ViewPage显示Fragment集合实现左右滑动并且出现tab栏--第三方开源--SlidingTabLayout和SlidingTabStrip实现
注意:有关Fragment的方法和ViewPager的全部是android.support.v4包的,否则会报很多的错误 MainActivity: package com.zzw.fragmentt ...
- Nginx安装第二步手动下载依赖包
nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好. ububtu平台编译环 ...
- adb 修改system文件
1. $ adb push SecureSetting.apk /sdcard/ // 上传要安装的文件,为安装做准备. 2. $ adb shell 3. $ su // 切换到 ...
- DevExpress 关于 GridView 表格编辑中 点击其他按钮里导致 值未取到处理
只需要给添加以下代码 在执行其他按钮前调 用一下 就可以了:主要是用来关闭编辑以及更新当前行编辑内容 this.gridControl1.FocusedView.CloseEditor(); this ...
- DevExpress XtraGrid 数据导出导入Excel
// <summary> /// 导出按钮 /// </summary> /// <param name="sender"></param ...
- C# 多线程操作样例
using System; using System.Threading; //引用多线程 namespace ThreadTest { public class Alpha { public voi ...