简介:VMware 虚拟机中安装 Android x86 的图文实操讲解,面向希望在电脑端直接体验或调试安卓应用的开发者、软件测试人员以及技术爱好者,同样适合不想在实体手机上进行刷机、而选择虚拟化途径的用户。这份资料打包后仅含 1 个 PDF 文件,大小约 737KB,内容集中易读,不需要在多个压缩包或笔记中反复切换。资源上线后已累计有 7137 人学习/下载,可见虚拟机安装安卓系统这一操作在日常开发与折腾场景中颇受关注。教程从下载 Android x86 的 ISO 镜像入手,依次说明了新建虚拟机时的 CPU 与内存分配、分区创建与激活、写入磁盘引导信息、选择 EXT4 文件系统等核心环节;同时针对安装后重启容易出现的黑屏问题,专门给出了进入 debug 模式、修改 grub 菜单并添加 nomodeset 参数的具体方法和界面示意。每一步都配有清晰的图文对照,命令和选项的修改位置一目了然;此外还提供运行 enable_houdini 命令解决应用闪退的技巧。整体步骤完整、图文分明,既能帮助初学者按部就班完成安装,也能为已安装但启动失败的用户提供排错思路。无论是验证 App 的兼容性,还是体验 Android 系统新特性,这套流程都提供了一个可复用的虚拟机环境。 最近我折腾了一台VMware Workstation虚拟机来安装Android x86,整个过程比我预想的曲折。很多人以为在电脑上跑安卓系统,用模拟器就够了,但模拟器套了一层额外的硬件模拟层,性能总会打折扣。而在虚拟机里跑Android x86,可以拿它做应用测试、折腾旧版APK,甚至临时当个轻量安卓开发环境。我这次用的是VMware Workstation Pro 17,装的是Android 9.0(x86_64)r2,下面把完整方法和踩坑记录写出来。
1. 为什么要在VMware里装安卓:场景与方案选型
1.1 这玩法到底有什么用
先别急着抄步骤,想清楚自己是不是真需要。我见过不少人装完系统,打开应用商店发现一片空白,然后就把虚拟机删了。Android x86在VMware里不是用来日常刷视频、聊微信的,至少体验不会比手机好,但它有几个很实在的用途。
第一是应用测试。做安卓开发或者逆向分析的人,经常需要在一个干净的系统里快速跑一下App,验证某个功能在不同安卓版本下的表现。每次都用实体手机会很麻烦,虚拟机里克隆几个快照,测完就回滚,效率高得多。第二是旧版本APK兼容性验证。有些老版本的应用,在现在的新手机上根本装不上,但在Android 7/8/9的定制x86环境里反而能跑,适合做兼容性排查。第三是自动化脚本调试。如果你用过Appium这类工具,可能会发现连VMware里的安卓系统比连真机更容易,因为网络和驱动环境更可控。
1.2 为什么选Android x86而不是其他方案
看到这里你可能想问:不是有BlueStacks、MuMu这些现成模拟器吗?为什么还要费劲装Android x86?我的结论是,模拟器适合“直接跑游戏”,但当你需要深度定制系统、要Root权限、想改系统文件的时候,模拟器反而限制太多。Genymotion虽然也是虚拟机方案,但很多高级功能要授权,免费版用起来束手束脚。Android x86是原生x86架构,在VMware里配合硬件虚拟化,性能更接近真实电脑,权限也是完整的。
更关键的是,Android x86是一个开源项目,你不需要登录账号、不需要彻夜排队等激活码,下载ISO镜像后随便装。虽然界面朴素了点,但胜在干净、可控,适合技术人自己折腾。如果你只是想快速跑个App,先看Android x86;如果你想要“完整可控的安卓系统”,直接装这个方案就对了。
2. 准备阶段:下载镜像和建好虚拟机
2.1 选Android x86版本,别用太老的
很多新手栽在版本选择上。Android x86官方站点的版本其实不算多,我推荐优先用9.0-r2,也就是Android 9的稳定版,整体完成度比较高,对VMware的兼容性也好。想体验新特性可以试Android 11或12,但目前很多输入法、桌面组件在更高版本上反而不太好配。更老的4.4、5.1系列除非你有特殊需求,否则不要碰,很多App都不支持了。
下载的时候一定要选64位(x86_64)镜像,别下载32位。现在VMware和宿主机基本都是64位环境,64位系统对内存和应用的兼容性都好很多。镜像文件大概700MB左右,下载完校验一下MD5,确认没损坏再继续。别问我怎么知道,之前我直接跳过校验,安装到一半就崩了,重来一趟很浪费时间。
2.2 新建虚拟机的关键参数
打开VMware Workstation,选择“新建虚拟机”,我用的是典型安装方式,其实自定义也一样。最关键的一步是客户机操作系统类型,别选错。这里一定要选“Linux”,版本选“Linux 4.x或更高版本 64位”。如果你选成了“其他”,后面启动很可能卡在引导层,报错都找不到原因。
内存建议分配2048MB以上,低于1GB会卡到鼠标都动不了。处理器核心数给2个就行,再多也没意义。虚拟磁盘容量建议20GB,选择“将虚拟磁盘存储为单个文件”,性能会稍微好一点,方便后续移动虚拟机。网络类型默认NAT即可,不需要在创建时特意改。
建好虚拟机后,在“虚拟机设置”里把光驱指定到之前下载的Android x86 ISO文件。这里有个小坑:如果创建时自动生成了软驱设备,建议直接移除,不然开机时会花大量时间在检测软盘上,看着像是卡住一样。设置里还可以勾选“虚拟化Intel VT-x/EPT或AMD-V/RVI”,这个选项在处理器设置里,能勾就勾上,对启动成功率和CPU性能都有帮助。
3. 安装系统:最容易翻车的三步
3.1 从ISO启动,进入安装界面
启动虚拟机之后,会看到一个类似Linux引导的界面,上面有几个选项:Live CD、Installation、Rescue等等。新手最容易犯的错是选Live CD,因为进去以后确实能看到桌面,但那是临时的,关掉虚拟机什么都没剩下。我们要选“Installation - Install Android-x86 to harddisk”,这才是真正安装到虚拟磁盘。
如果你的画面卡在引导阶段不动,或者花屏、黑屏,不要急着重装。在引导界面按Tab键,在命令行后面加上nomodeset参数再回车,这是关闭内核的显卡模式设置,能解决大多数和显卡有关的启动问题。AMD显卡芯片尤其需要这样处理,这一步能解决很常见的安装卡顿问题。
3.2 分区和格式化:选ext4还是ext4?
进入安装程序后,它会询问是否检测到Android-x86并要安装到某个分区,一般让你选“Create/Modify partitions”。这个步骤看着吓人,但放心,这只是虚拟磁盘,不会动你电脑里的真实数据,大胆试。
分区工具默认是cfdisk,界面比较老,但逻辑很清晰。选择磁盘(通常显示为/dev/sda),创建一个新的主分区,建议把所有空间都给这个分区,类型选Primary。创建之后要按“Bootable”把分区标记为可启动,最后按Write写入分区表,完成后退出分区工具。接下来安装器会问你要把Android安装到哪个分区,选择刚才建好的sda1,然后格式化文件系统,这里我推荐选择ext4。有很多教程建议用ext3,但实测ext4在后续安装App和读写速度上都更好,兼容性也没问题。
格式化之后,安装程序会问是否安装GRUB引导程序,选Yes。这一步别跳过,否则重启后虚拟机根本进不了系统。接着它会问是否把/system目录挂载为可读写,也选Yes,这样才能后续安装GApps或者修改系统文件。之后就开始复制文件了,等待3-5分钟即可。
3.3 首次启动配置
等安装完成后,安装程序会提示你重启,选择“Reboot”就好。这时记得在虚拟机设置里把光驱断开,或者把启动顺序调回“先从硬盘启动”,不然会重新进ISO安装界面。
启动后应该会看到一屏滚动的启动日志,如果没有卡住,几秒后会进入安卓的初始化设置界面。先选语言(可以选中文,但很多组件是英文界面,不用太在意),连不连Wi-Fi都行,因为虚拟机用的是虚拟网卡,Wi-Fi选项形同虚设。配置完基本设置后,你会看到熟悉的安卓桌面,到这里系统就算装好了。
如果重启后一直卡在开机动画,大概率是引导参数问题。你可以回到引导界面,按Tab键编辑启动参数,在quiet后面加上nomodeset,回车启动后再实际修改GRUB配置,让这个参数永久生效,不然每次开机都要手动调。
4. 系统装好后还得做这些事
4.1 网络问题:NAT还是桥接
装好的Android x86默认网卡是VMware的NAT模式,理论上开机就能上网,直接打开浏览器试一下。如果发现网络不通,先检查虚拟机的网络连接状态,是不是被禁用了。然后在虚拟机设置里把网络换到“桥接模式”试试,桥接后虚拟机就是局域网内一个独立设备,能互相访问,但前提是你的路由器和宿主机网络允许。
有时候你可能会遇到“能上网但adb连不上”的情况。这通常不是网络不通,而是安卓系统里ADB服务默认没开启。去“设置-关于平板电脑”里连点版本号打开开发者选项,再在“开发者选项”里把“Android调试”打开,就可以用adb连接了。如果希望固定IP,可以在安卓终端里手动设置网络,但日常使用用DHCP就够了。
4.2 全屏与分辨率调整
刚装完系统,VMware窗口可能只有一个小屏,看着很别扭。不要急着去设置里改分辨率,先试试VMware菜单栏的“自动调整大小”,如果生效,窗口就能跟随虚拟机分辨率变化。如果没生效,就得手动改了。
一个简单方法是进入安卓的“设置-显示-分辨率”,有的版本可以直接改。但对Android x86来说,很多分辨率选项并不生效,或者说选项里根本没有你要的分辨率。这时需要修改GRUB引导参数。在桌面环境里打开终端应用,输入:
su mount -o remount,rw /mnt vi /mnt/grub/menu.lst在包含kernel的那一行末尾加上video=1920x1080,这里的分辨率可以替换成你想要的,比如1366x768。保存后重启,系统就会按这个分辨率启动。如果改完启动失败,说明分辨率超出虚拟显卡支持范围,换一个保守的分辨率即可。
4.3 输入法、软件安装和Root
这是很多人忽略的一步。Android x86系统默认不自带第三方输入法,自带的基本是英文键盘,想输入中文还得自己装。你可以在浏览器里下载一个支持x86架构的APK,比如百度输入法或者Gboard的通用版,下载后点击安装。如果提示无法解析文件,可能下载的是arm架构的APK,这时候要搜“x86 输入法”或“android x86 Gboard”。
软件安装也差不多,从浏览器下载APK,或者用adb安装。注意不要装专门为ARM优化的App,那些即使能装上,运行时也可能很卡。最后的Root权限,Android x86默认是开启的,打开终端直接输入su就能切到root账号。这也是很多人选择它的原因,做开发调试太方便了。如果你装的是Android 9版本,开发者选项里也默认允许“Root权限的ADB验证”,基本就是开箱即用。
5. 常见报错汇总:这些坑我都替你踩过
5.1 开机报“客户机操作系统已禁用CPU”怎么办
这个报错是我踩过最莫名其妙的一个,明明是装系统,怎么CPU都会被禁用?实际原因多半是虚拟机配置了CPU虚拟化,但宿主机没有支持或没开启。解决办法分两步。第一步,在VMware的“虚拟机设置-处理器”里勾选“虚拟化Intel VT-x/EPT”或AMD对应的选项,确定后重启虚拟机。第二步,如果还报错,需要进入宿主机的BIOS,找到“Intel Virtualization Technology”之类的选项,把它设为Enabled。
还有一个容易被忽略的情况:Windows系统如果开启了“内核隔离”或“虚拟机平台”,可能会和VMware的虚拟化冲突。你需要在“Windows安全中心-设备安全性-内核隔离”里暂时关闭“内存完整性”,或者控制面板里关掉“Hyper-V”,再重新启动虚拟机。总之,这个报错90%都是VT-x没就位造成的。
5.2 vmx binary找不到、VMware Tools签名等问题
有次我换了虚拟机文件夹的路径,再启动直接弹“unable to find the vmx binary ... VMware-vmx.exe”,第一次遇到还以为是虚拟机文件损坏。后来发现,起因是VMware安装路径盘符或目录权限出了问题,常见于使用精简版或绿色版VMware。解决办法是重新运行VMware安装程序,修复安装一次,确保安装目录完整。最好把虚拟机文件放在纯英文路径下,中文路径也容易导致这类诡异问题。
至于VMware Tools,很多教程会建议你装,但Android x86并没有官方对应的VMware Tools包。装了第三方的增强工具,有时反而会破坏内置的显卡驱动,所以我个人的建议是“别装”。如果仅仅是可以用鼠标、能全屏、能复制粘贴,其实不装也能用七八成。真要增强剪贴板和文件拖拽,可以尝试安装第三方的VirtIO驱动,但那是另一套折腾了。如果主机上安装Windows的VMware Tools时报“没有数字签名”,那就用Windows的“高级启动-禁用驱动程序强制签名”模式来处理,和虚拟机关系不大。
5.3 安装卡住、没声音、鼠标不释放
安装时如果卡在检测硬件阶段,或者过了引导菜单就黑屏,大概率是显卡兼容性问题。前面提到过,在引导时加nomodeset参数能解决大部分问题。那如果已经装好了,但每次启动都卡在开机动画呢?同样也是在GRUB引导菜单按e,在kernel行加上nomodeset,进入系统后再把参数写进配置文件里,问题就固定解决了。
没声音也是常见问题。打开虚拟机设置-声卡,确认已勾选“连接”和“启动时连接”。如果系统里还是没声音,检查一下Android的“设置-声音”是不是静音了。极少数时候是VMware音频驱动的兼容性问题,可以试着把声音选项从“默认”改成“Windows DirectSound”或者“PulseAudio”,切换后重启虚拟机。
鼠标不释放,这个最简单。按一次Ctrl+Alt组合键,鼠标就会从虚拟机窗口里释放出来,这是一个VMware的基础操作,很多人不知道。如果连这都不生效,可能是VMware Tools组件出问题,但概率很小,重启虚拟机基本能解决。
说实话,在VMware里跑Android x86,要我打分的话,实用性是70分,折腾趣味是满分。我用它做轻量测试,比开模拟器快很多。我的建议是第一次装用默认配置,跑通后再去调分辨率、装生产力软件。如果卡在某个报错,别急着重装,多半是VT-x或引导参数的问题。最后再分享一个小技巧:装好后在终端里执行重启命令前,先确认所有分区已卸载,能减少文件系统损坏的概率。
本文还有配套的精品资源,点击获取