您现在的位置是:首页 >技术交流 >在windows内使用virtualbox搭建安卓x86--以及所遇到的问题解决--3网站首页技术交流
在windows内使用virtualbox搭建安卓x86--以及所遇到的问题解决--3
一.ARM兼容包的植入
在AndroidX86系统内大部分应用(国内)并没有适配X86架构,安装基于arm架构的应用会出现报错的情况,如遇到此问题可以参照此方案解决。
目前安卓内有两种方案实现一种是libndk,一种是intel提供的libhoudini方案(大部分模拟器也都是采用此方案),本文采用的是libhoudini方案,具体步骤如下:
1.下载arm包:
在androidx86 7前,intel提供了houdini_x,houdini_y,houdini_z三个版本对于32位arm,64位arm的兼容包,但是在android8及以上版本,intel只提供了houdini_y(armeabi v7a)的兼容包,若需要更高版本的支持需要手动到各模拟器(包括微软子系统)提取,关于intel提供的arm兼容包,可以前往以下地址下载:GitHub - SGNight/Arm-NativeBridge: ARM translation layer for Android x86
GitHub - tony-cloud/houdini9: Intel Houdini library file for Android x86 9.0
2.安装arm兼容包
(1).输入adb -s 127.0.0.1:5555 root获取临时root权限,如何可以通过adb -s 127.0.0.1:5555 remount -rw /system 重新mount system目录
(2).输入adb -s 127.0.0.1:5555 push houdini8_y.sfs /system/etc ,把arm兼容包发送到system/etc目录
(3).进入adb -s 127.0.0.1:5555 shell,进入shell模式,cd 到system/etc,ls列出所有文件和文件夹,发现houdini_y.sfs就在文件夹中,此时即可执行cd ./到根目录,然后执行enable_nativebridge,若出现
modprobe: /etc/modprobe.conf: No such file or directory
modprobe: /etc/modprobe.d: No such file or directory报错则无视报错再执行一次命令。
3.验证arm兼容包是否移植成功
(1).在Androidx86内,打开设置--Androidx86设置--勾选兼容模式
(2).若兼容模式选项不会被自动取消代表则代表成功
(3).若兼容模式选项被取消则需要重新执行以上命令
二.触屏无效
1.问题猜测:可能是androidx86的鼠标触发的是点击事件,而非触摸事件
2.实际问题:游戏厂商没有对androidx86进行很好的适配
3.解决方案:下载qtscrcpy,感谢原作者barry-ran,此应用是在安卓内建立server(scrcpy-server.jar),windows作为client给android内的包传递信息传递,实现点击转触摸的效果
对于正常用户,仅需前往项目地址:
GitHub - barry-ran/QtScrcpy: Android real-time display control software下载releases包就好了,对于开发也可以选择自己编译,本人手动了魔改过一个版本的,支持了原版本无法正常的gcc编译器(整理后开源)
注意:k49内核且使用vbox模拟vmvga显卡时,qtscrcpy无法支持
三.玩游戏卡顿严重
这个问题几乎无解...,模拟的显卡渲染性能太低,上文也提过大多数模拟器实际使用angle库将opengles转为desktop opengl或desktop directx来弥补渲染能力不足的问题,但是个人完成此方案的工作量太大,若对游戏有强烈需求,建议选用专业的安卓模拟器
Developed by 福州机电工程职业技术学校 wh
邮箱联系方式:xiaohui032901@foxmail.com
qq联系方式:2151335401、3135144152