安装 Android x86 并开启 arm 兼容
尝试了各种安卓模拟器,要么不能设置代理(BlueStacks),要么/system
目录没办法设置。
获取 Android x86
这里使用的是 Android 7 版本,
在本次操作时 houdini 对 Android 8 / Android 9 的版本支持有限。
从 Android-x86 旧版本 获取7.1的 Android-x86_64 的链接;
注意是 64 位的。
虚拟机安装
开机选项选择 Install 开始安装。
进入后按下 C
选择第一项开始编辑分区。
当格式化完成分区后,会出现是否以读写的方式挂载/system
,
这里选择Yes。
安装完成后重启进入系统。
安装 Houdini 兼容 arm64 应用
获取 Houdini
在 Arm-NativeBridge 中查看对应版本的 houdini,并下载。
本次安装的是 Android 7 x86_64,使用了:
- http://dl.android-x86.org/houdini/7_x/houdini.sfs
- http://dl.android-x86.org/houdini/7_y/houdini.sfs
- http://dl.android-x86.org/houdini/7_z/houdini.sfs
下载好的 houdini.sfs 根据下载链接分别重命名为:
- houdini7_x.sfs
- houdini7_y.sfs
- houdini7_z.sfs
可以在 Android 系统中下载也可以在宿主机下载后用 adb push
过去。
安装 houdini 兼容库
主要步骤:
- 将上面命名好的 houdini7_x.sfs / houdini7_y.sfs / houdini7_z.sfs 复制到
/system/etc/
目录下 - 在终端输入打开 arm 解译器:
/system/bin/enable_nativebridge
- 在设置 - 应用兼容性里开启兼容模式,否则应用还是会闪退
可以在虚拟机里按下 Alt-F1
到 tty,完成以上步骤;再按下 Alt-F7
返回图形化界面。
下面介绍如何使用 adb 工具连接到虚拟机完成步骤。
- 设置 - 关于 - 版本号,按5下版本号进入开发者模式
- 进入开发者选项,开启 USB 调试
- 按下
Alt-F1
到 tty,使用ip a
命令查看 IP
回到宿主机:
使用 adb connect <安卓虚拟机IP>:5555
。
当 adb devices
出现设备时说明连接成功。
使用 adb root
获取 Root 权限,
adb push houdini7_x.sfs /system/etc/houdini7_x.sfs
adb push houdini7_y.sfs /system/etc/houdini7_y.sfs
adb push houdini7_z.sfs /system/etc/houdini7_z.sfs
运行 adb shell
:
su # 获取 Root 权限
/system/bin/enable_nativebridge
完成以上步骤后,去设置开启兼容模式即可。