ReDroid打造自己的云手机(二) arm转译x86
·
前言
市面上已经存在很多云手机厂商如多多云、雷电云、河马云手机等,价格从几十到上百元每月一台。价格还好说,但设备运行稳定性、可靠性、数据安全性全部依赖第三方厂商,注定不能进行敏感性操作或部署对安全可靠高要求的企业级服务。
本文介绍一种开源的 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
测试结果:
安装完转译后绝大部分APP可以安装,一部分应用可以成功打开,但微信、企微、抖音测试都较长时间卡在logo页后退出(个别尝试进入到应用首页后自动退出),可能还是存在兼容性或其他系统问题。只能说是基本无法满足使用需求。后面还是尝试使用 arm CPU 进行部署测试。
对了,腾讯云主机又又又又活动了,戳这里查看
总结
打造自己的云手机既可以用来做测试开发使用,也可以保证安全隐私的情况下执行敏感操作,还可以用 WorkTool 等 APP 制作微信企微机器人,后续我会继续测试 arm CPU 进行安卓容器化测试。喜欢本文可以关注我~有问题可以留言或私信我。
更多推荐
已为社区贡献8条内容
所有评论(0)