474 字
2 分钟
在 Fedora 上运行 Redroid 容器

redroid 是一个开源的 AIC(Android in cloud) 解决方案,可以运行在 arm64 amd64 架构的平台上。加上 ARM 转译器可以运行大部分的 Android APP,本文记录在 fedore 37 的安装过程。
准备
fedora-37-6.2.8-200.fc37.x86_64
docker
打开终端使用官方命令安装 :
sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
3.scrcpy or QtScrcpy
,我使用的是 QtScrcpy
4.安装 android-tools
:
sudo dnf install android-tools
5.关闭 SELinux (临时):
sudo setenforce 0
6.获取 ARM 转译器 libndk
使用 Droid-NDK-Extractor 脚本获取 :
sudo dnf install sleuthkit p7zip binwalk git
mkdir ~/workspacecd ~/workspace/git clone https://github.com/sickcodes/Droid-NDK-Extractor.gitchmod +x android-extract-ndk.sh./android-extract-ndk.sh
然后等待一段时间(可能需要代理)在项目目录下的 working/extracted/
文件夹里面找到名为 native-bridge.tar
的压缩文档,
然后进入 native-bridge.tar
所在的目录 :
cd ~/workspace/Droid-NDK-Extractor/working/extracted/mkdir native-bridgecd native-bridgesudo tar -xpf ../native-bridge.tarsudo chmod 0644 system/etc/init/ndk_translation_arm64.rcsudo chmod 0755 system/bin/armsudo chmod 0755 system/bin/arm64sudo chmod 0755 system/lib/armsudo chmod 0755 system/lib64/arm64sudo chmod 0644 system/etc/binfmt_misc/*sudo tar -cpf native-bridge.tar systemmv native-bridge.tar ..cd ..
1. 在 `workspace` 目录下新建一个目录 `redrooid`2. 将 `native-bridge.tar` 移动到 `redroid` 目录下3. 在 `redroid` 目录下新建一个名为 `dockerfile` 的文档,并编辑加入以下内容:
```configFROM redroid/redroid:11.0.0-latest
ADD native-bridge.tar /
4.编译新的 docker 镜像:
cd ~/workspace/redroid/sudo docker build . -t redroid-11-libndk
等待镜像制作完成。
运行
- 启动 redroid
sudo docker run -itd --privileged \ -v ~/data11-libndk:/data \ -p 5555:5555 \ redroid-11-libndk \ androidboot.redroid_gpu_mode=host \ 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
2.使用 adb
连接
adb connect localhost:5555
3.使用 QtScrcpy 连接到桌面
安装完成,音频好像串流不上,可能我的窗口管理系统是 wayland
的原因。(报错为:“wayland not support” 待解决)
4.安装 apk :
adb -s localhost:5555 install xxx.apk
5.启动或者关闭容器(开关机) :
sudo docker ps -a
sudo docker start <container id> ##开启容器sudo docker stop <container id> ##关闭容器
总结
个人配置,对于我来说这些功能够用了,其它的比如 GoogleService Magisk 等有需求的再添加吧。
在 Fedora 上运行 Redroid 容器
https://encorexin.online/posts/run-redroid-on-fedora/
评论
评论系统加载失败
无法连接到评论服务,请检查网络连接或稍后再试。