Virtualbox安装Android虚拟机

VirtualBox 除了可以安装 Linux、Windows 系统之外,还可以安装安卓系统,那不就相当于一个模拟器了,省的再去下载夜神,逍遥之类的定制化模拟器。借此机会,实践一下。

下载必要文件

本文 Android ISO 下载是 Android-x86 64-bit ISO 文件

Android ISO 下载地址:https://www.fosshub.com/Android-x86.html 或者 https://sourceforge.net/projects/android-x86/files/

VM VirtualBox 下载地址:https://www.virtualbox.org/wiki/Downloads

新建虚拟机

虚拟机参考配置如下:

类型: Linux

版本: Other Linux (64-bit)

内存大小:4096 MB

处理器: 2

磁盘空间: 32G

显存大小: 128

指点设备: PS/2 鼠标

启用 3D 加速

选择之前我们下载好的 Android ISO 文件

网络使用桥接网卡

启动虚拟机

操作提示:上下键选择,Enter 确认

选择 Installation - Install Android-x86 to harddisk

创建新分区

关闭 GPT

选择 NEW -> Primary -> 默认大小 -> Enter

选择 Bootable -> Enter -> Write -> Enter -> 输入 yes -> Enter

Quit -> 选择 sda1 -> OK

ext4 -> yes

GRUB -> Yes

Yes

EFI GRUB2 -> Skip

移除虚拟盘 -> Reboot

detecting android-x86 found at /dev/sda1 卡死

选择 Android-x86 9.0-r2 (Debug nomodeset)

进入目录 cd /mnt/grub,编辑文件 vi menu.lst,将 quiet 改为 nomodeset xforcevesa

exit 退到启动页面,选择第一项 Android-x86 9.0-r2 ,即可正常启动

兼容arm

默认安装的虚拟机是Android-x86_64,只能安装该架构下的应用吗(即使安装成功也会闪退),但是很多应用只支持arm架构,所以需要在x86下兼容arm。

设置->安卓x86设置->兼容模式,打开前提是开启了enable_nativebridge,否则即使打开,退出之后再次进入设置也会自动关闭。

打开方式如下:

直接终端模拟器输入enable_nativebridge即可,前提是需要虚拟机可以科学上网,否则终端会卡死,大概率会出现以下报错提示:

1
mount: xxx -> /system/lib/arm not a file or directory

注意以上报错的xxx,等下下载好的文件需要和这个名称保持一致

解决办法是下载文件放至/system/etc文件夹内,再次执行enable_nativebridge

1
2
3
4
5
6
7
8
9
10
# 切换至root用户
su root
# 进入文件夹
cd /system/etc
# 下载文件 更新提示下载对应的文件 9_y 可根据提示进行更改 参考: https://github.com/SGNight/Arm-NativeBridge
wget dl.android-x86.org/houdini/9_y/houdini.sfs
# 将文件和提示文件名称xxx命名一致
mv houdini.sfs houdini9_y.sfs
# 再次执行命令
enable_nativebridge

如果没有报错提示说明已经执行成功,再去设置中打开兼容模式。