小辛的互联网作坊

在 Fedora 37 上安装 Redroid

2023-04-03
Linux
fedora
redroid
linux
最后更新:2024-05-03
3分钟
474字

redroid 是一个开源的 AIC(Android in cloud) 解决方案,可以运行在 arm64 amd64 架构的平台上。加上 ARM 转译器可以运行大部分的 Android APP,本文记录在 fedore 37 的安装过程。

准备

  1. fedora-37-6.2.8-200.fc37.x86_64
  2. docker 打开终端使用官方命令安装 :
Terminal window
1
sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

3.scrcpy or QtScrcpy,我使用的是 QtScrcpy 4.安装 android-tools

Terminal window
1
sudo dnf install android-tools

5.关闭 SELinux (临时):

Terminal window
1
sudo setenforce 0

6.获取 ARM 转译器 libndk

使用 Droid-NDK-Extractor 脚本获取 :

Terminal window
1
sudo dnf install sleuthkit p7zip binwalk git
2
3
mkdir ~/workspace
4
cd ~/workspace/
5
git clone https://github.com/sickcodes/Droid-NDK-Extractor.git
6
chmod +x android-extract-ndk.sh
7
./android-extract-ndk.sh

然后等待一段时间(可能需要代理)在项目目录下的 working/extracted/ 文件夹里面找到名为 native-bridge.tar 的压缩文档, 然后进入 native-bridge.tar 所在的目录 :

Terminal window
1
cd ~/workspace/Droid-NDK-Extractor/working/extracted/
2
mkdir native-bridge
3
cd native-bridge
4
sudo tar -xpf ../native-bridge.tar
5
sudo chmod 0644 system/etc/init/ndk_translation_arm64.rc
6
sudo chmod 0755 system/bin/arm
7
sudo chmod 0755 system/bin/arm64
8
sudo chmod 0755 system/lib/arm
9
sudo chmod 0755 system/lib64/arm64
10
sudo chmod 0644 system/etc/binfmt_misc/*
11
sudo tar -cpf native-bridge.tar system
12
mv native-bridge.tar ..
13
cd ..
14
15
1. `workspace` 目录下新建一个目录 `redrooid`
7 collapsed lines
16
2. `native-bridge.tar` 移动到 `redroid` 目录下
17
3. `redroid` 目录下新建一个名为 `dockerfile` 的文档,并编辑加入以下内容:
18
19
```config
20
FROM redroid/redroid:11.0.0-latest
21
22
ADD native-bridge.tar /

4.编译新的 docker 镜像:

Terminal window
1
cd ~/workspace/redroid/
2
sudo docker build . -t redroid-11-libndk

等待镜像制作完成。

运行

  1. 启动 redroid
Terminal window
1
sudo docker run -itd --privileged \
2
-v ~/data11-libndk:/data \
3
-p 5555:5555 \
4
redroid-11-libndk \
5
androidboot.redroid_gpu_mode=host \
6
ro.product.cpu.abilist=x86_64,arm64-v8a,x86,armeabi-v7a,armeabi \
7
ro.product.cpu.abilist64=x86_64,arm64-v8a \
8
ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi \
9
ro.dalvik.vm.isa.arm=x86 \
10
ro.dalvik.vm.isa.arm64=x86_64 \
11
ro.enable.native.bridge.exec=1 \
12
ro.dalvik.vm.native.bridge=libndk_translation.so \
13
ro.ndk_translation.version=0.2.2

2.使用 adb 连接

Terminal window
1
adb connect localhost:5555

3.使用 QtScrcpy 连接到桌面

default

default

安装完成,音频好像串流不上,可能我的窗口管理系统是 wayland 的原因。(报错为:“wayland not support” 待解决)

4.安装 apk :

Terminal window
1
adb -s localhost:5555 install xxx.apk

5.启动或者关闭容器(开关机) :

Terminal window
1
sudo docker ps -a
2
3
sudo docker start <container id> ##开启容器
4
sudo docker stop <container id> ##关闭容器

总结

个人配置,对于我来说这些功能够用了,其它的比如 GoogleService Magisk 等有需求的再添加吧。

本文标题:在 Fedora 37 上安装 Redroid
文章作者:Encore Xin
发布时间:2023-04-03
版权声明:本作品采用 「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可