ReDroid打造自己的云手机(二) arm转译x86
•
移动开发
自己做一个云手机,开源的 Android In Container 解决方案
-
- 前言
- 前提
- 正文
- 总结
前言
市面上已经存在很多云手机厂商如多多云、雷电云、河马云手机等,价格从几十到上百元每月一台。价格还好说,但设备运行稳定性、可靠性、数据安全性全部依赖第三方厂商,注定不能进行敏感性操作或部署对安全可靠高要求的企业级服务。
本文介绍一种开源的 AIC (Android In Container) 解决方案 ReDroid,使用本教程可以在一台普通型服务器运行多个安卓设备环境,并可在客户机电脑连接使用该云手机。
之前写过一篇云服务器搭建 ReDroid 的方案(点击这里查看),但当时基于 x86 架构 CPU 是无法安装 arm 专用APP的,所以本文再提供一种接入转译的方法,测试结果也会放在文章最后。
前提
win10 + intel cpu 使用虚拟机搭建redroid云手机平台
- 使用Vmware Pro开启虚拟机
镜像:ubuntu20.04_x86.iso 网络使用桥接模式 安装Vmware Tool
- ubuntu初始配置
## install required kernel modules apt install linux-modules-extra-`uname -r` modprobe binder_linux devices="binder,hwbinder,vndbinder" modprobe ashmem_linux # grep binder /proc/filesystems nodev binder # grep ashmem /proc/misc 122 ashmem #如果显示是空的就是有问题,和上面类似返回 nodev binder 和 xxx ashmem 的话就算配置正确。系统重启后可能需要再次检查
- 启动云手机
正文
- 生成native-bridge.tar
sudo pacman -S sleuthkit p7zip binwalk git cd ~ git clone https://github.com/sickcodes/Droid-NDK-Extractor.git cd Droid-NDK-Extractor chmod +x android-extract-ndk.sh ./android-extract-ndk.sh x86_64 cd ~/Droid-NDK-Extractor/working/extracted/ mkdir native-bridge cd native-bridge sudo tar -xpf ../native-bridge.tar sudo chmod 0644 system/etc/init/ndk_translation_arm64.rc sudo chmod 0755 system/bin/arm sudo chmod 0755 system/bin/arm64 sudo chmod 0755 system/lib/arm sudo chmod 0755 system/lib64/arm64 sudo chmod 0644 system/etc/binfmt_misc/* sudo tar -cpf native-bridge.tar system mv native-bridge.tar .. cd .. rm -r native-bridge
- 构建镜像
FROM redroid/redroid:11.0.0-amd64 ADD native-bridge.tar / sudo docker build . -t redroid-11-libndk
- 启动
docker run -itd --rm --privileged -p 5555:5555 redroid-11-libndk \ ro.product.cpu.abilist=x86_64,arm64-v8a,x86,armeabi-v7a,armeabi \ ro.product.cpu.abilist64=x86_64,arm64-v8a \ ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi \ ro.dalvik.vm.isa.arm=x86 \ ro.dalvik.vm.isa.arm64=x86_64 \ ro.enable.native.bridge.exec=1 \ ro.dalvik.vm.native.bridge=libndk_translation.so \ ro.ndk_translation.version=0.2.2
- 参考文章
ReDroid教學:用Docker跑Android系統,在x86電腦玩ARM手機遊戲 | Ivon的部落格
测试结果:
安装完转译后绝大部分APP可以安装,一部分应用可以成功打开,但微信、企微、抖音测试都较长时间卡在logo页后退出(个别尝试进入到应用首页后自动退出),可能还是存在兼容性或其他系统问题。只能说是基本无法满足使用需求。后面还是尝试使用 arm CPU 进行部署测试。
对了,腾讯云主机又又又又活动了,戳这里查看
总结
打造自己的云手机既可以用来做测试开发使用,也可以保证安全隐私的情况下执行敏感操作,还可以用 WorkTool 等 APP 制作微信企微机器人,后续我会继续测试 arm CPU 进行安卓容器化测试。喜欢本文可以关注我~有问题可以留言或私信我。
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/f3a9fd9373.html
