甲骨云ARM机原生运行Android 云手机

前言

前几天申请的招商VISA信用卡下来了,为了想撸一把各大厂商的活动,在找活动的时候记起来之前因没信用卡而无法注册的ORACLE,就是甲骨文公司,Java就是人家的.本来就是云服务的领头人物,前几年为了抢占市场,推出了没人能领取两台的所谓永久免费的X86海外云主机,后来又推出了基于ARM架构个人能免费领取一个4核24G的永久ARM服务器,还是挺香的.更多关于此活动的内容请参考甲骨云官方说明,本文不再赘述 !
甲骨文免费项目

申请到ARM服务器之后呢想弄几个好玩的项目部署上,最起码不浪费4核24G内存,忽见 redroid 提供了 arm 版的 android 镜像,心想不过转译岂不爽飞,遂查资料开搞。

技术栈

本次采用甲骨文日本大阪的ARM服务器,四核Ampere A1,根据官方提供资源,你可以开通两台双核12G的服务器,我嫌好的IP不好刷,所以干脆弄了一整个服务器

服务器系统选择的是Ubuntu 22.04 并不是MiNi版,推荐安装此版本

Android 容器方面,采用 redroidAndroid 8.1 arm64 镜像,这是经过实测的最佳版本。

环境配置

首先是安装Docker,因为官方的教程很详细,所以我也不再重复造轮子,跟着来就行https://docs.docker.com/engine/install/ubuntu/

接下来请执行系统更新指令,尝试将系统内核更新至最新

sudo apt-get update

更新结束之后,使用uname -r查看系统内核版本,我自己的是5.15.0-1016-oracle
内核
请务必保持内核版本>=5,否则可能无法正常进行

接下来补齐内核模块,请确保此项正常运行,否则将无法启动Android容器

apt install linux-modules-extra-`uname -r`
modprobe binder_linux devices="binder,hwbinder,vndbinder"
modprobe ashmem_linux

执行到这一步无报错的话基本属于正常了

启动容器

条件具备之后,启动即可:

docker run -itd --rm --memory-swappiness=0 \
    --privileged --pull always \
    -v /data:/data \
    -p 5556:5555 \
    redroid/redroid:8.1.0-arm64 \
    androidboot.hardware=mt6891 ro.secure=0 ro.boot.hwc=GLOBAL ro.ril.oem.imei=861503068361145 ro.ril.oem.imei1=861503068361145 ro.ril.oem.imei2=861503068361148 ro.ril.miui.imei0=861503068361148 ro.product.manufacturer=Xiaomi ro.build.product=chopin \
    redroid.width=720 redroid.height=1280 \
    redroid.gpu.mode=guest

关于此镜像的更多解释请参考官方Docker项目,链接在末尾

玩法

启动之后就可以使用ADB命令玩耍了,也可以使用秋之盒这类的第三方工具玩

在远程控制方面,我们可以使用scrcpy直奔 Releases 页面下载 zip 格式的文件,解压后使用adb命令连接上容器,然后在cmd.\scrcpy.exe即可。

列出一些关于ADB的常用命令

// 查看连接状态
adb devices

// adb链接设备
adb connect ip:端口

// 安装软件
adb install 软件路径

友情链接&参考资料

甲骨文 ARM 机原生运行 Android 云手机实践
remote-android / redroid-doc
scrcpy开源远程工具
秋之盒官方
Docker官方文档
甲骨文活动地址

长安念姑苏

评论区
头像