redroid搭建云手机学习笔记(一)

ops/2024/9/24 4:22:06/

参考链接 通过Redroid搭建自己的云手机

docker安装

docker官网目前打不开了,通过官网安装的方式无法实现,这里需要借助镜像网站来实现docker的安装
参考链接:https://developer.aliyun.com/mirror/docker-ce

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

验证docker安装

# 获取docker版本
sudo docker version

docker镜像网站

国内的docker镜像网站大部分好像都停了,下载镜像不太方便了。

网上找到的一个刚好包含有要使用的redroid镜像的网址,这里使用的是Android12的镜像:
https://docker.aityp.com/image/docker.io/redroid/redroid:12.0.0-latest

docker安装好后可以通过如下指令拉取镜像

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/redroid/redroid:12.0.0-latest

先拉取了该镜像后,后面执行下面章节的拉取镜像时才会成功,否则拉取不成功。

docker 拉取失败更换镜像网站

参考链接:https://blog.csdn.net/crazywkl/article/details/141531393
https://cloud.tencent.com/developer/article/2429585
修改镜像地址文件

sudo vim /etc/docker/daemon.json

添加如下内容:

{"registry-mirrors": [ "https://cr.console.aliyun.com","https://docker.m.daocloud.io","https://public.ecr.aws","https://dockerhub.timeweb.cloud"]
}

重启docker服务

systemctl daemon-reload
systemctl restart docker

查看配置是否生效

docker info

redroid_62">redroid

redroid 的使用安装过程参见
https://github.com/remote-android/redroid-doc?tab=readme-ov-file#getting-started

## install docker https://docs.docker.com/engine/install/#server## install required kernel modules
apt install linux-modules-extra-`uname -r`
modprobe binder_linux devices="binder,hwbinder,vndbinder"
modprobe ashmem_linux## running redroid
docker run -itd --rm --privileged \--pull always \-v ~/data:/data \-p 5555:5555 \redroid/redroid:12.0.0-latest### Explanation:
###   --pull always    -- use latest image
###   -v ~/data:/data  -- mount data partition
###   -p 5555:5555     -- expose adb port### DISCLAIMER
### Should NOT expose adb port on public network
### otherwise, redroid container (even host OS) may get compromised## install adb https://developer.android.com/studio#downloads
adb connect localhost:5555
### NOTE: change localhost to IP if running redroid remotely## view redroid screen
## install scrcpy https://github.com/Genymobile/scrcpy/blob/master/README.md#get-the-app
scrcpy -s localhost:5555
### NOTE: change localhost to IP if running redroid remotely
###     typically running scrcpy on your local PC

我这里测试是在Ubuntu 20.04环境下测试安装的,
在安装scrcpy时要注意使用snap的方式安装,使用apt方式安装的版本比较老,会出现投屏失败的情况。

# snap方式安装(snap安装比较慢)
snap install scrcpy# apt方式安装(版本比较旧)
apt install scrcpy

apt方式安装的scrcpy投屏失败的情况
在这里插入图片描述
成功启动的界面:
在这里插入图片描述
至此整个过程就算结束了!


http://www.ppmy.cn/ops/105221.html

相关文章

excel规划求解结合vba宏笔记

目录 概念与配置 规划求解定义 excel设置规划求解 宏的基本操作 excel批量进行规划求解案例 加载规划求解模块 宏的设置 宏录制vba 其他案例 概念与配置 规划求解定义 运用“规划求解”定义并求解问题 - Microsoft 支持 excel设置规划求解 EXCEL规划求解的简明教程…

.NetCore发布到IIS

一:安装sdk(下载 .NET 8.0 SDK (v8.0.302) - Windows x64 Installer) 与donet Runtime(.NET Downloads (Linux, macOS, and Windows))选择对应的版本下载 二:解决问题:HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面&#x…

es集群详解

1、基本介绍 1.1、为什么需要集群 单台 Elasticsearch 服务器提供服务,往往都有最大的负载能力,超过这个阈值,服务器性能就会大大降低甚至不可用,所以生产环境中,ES 一般都是运行在指定服务器集群中。 除了负载能力&…

Ovirt-Engine(4.3.10 )备份恢复

介绍如何进行 oVirt Engine 的备份、恢复以及相关操作,包括自动备份脚本、手动备份步骤、托管引擎的恢复流程,以及恢复后的配置和验证步骤。 1. Engine 备份部分 1.1 备份使用的脚本 以下是一个用于自动备份 oVirt Engine 的 Bash 脚本: …

实战项目:俄罗斯方块(六)

文章目录 🍊自我介绍🍊图像界面绘制界面绘制界面显示代码运行结果 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞关注评论收藏(一键四连)哦~ 🍊自我介绍 Hello,大家好,我是小珑也…

【ES常用查询操作】

在 Elasticsearch (ES) 中,多条件检索可以通过组合多个查询条件来实现。Elasticsearch 提供了多种查询类型和组合方式,常见的有 bool 查询、must、should、must_not 和 filter 等。以下是一些常见的多条件检索示例。 1. 使用 bool 查询 bool 查询允许你…

SQL Server Service Broker故障排除

如果你的SQL Server Queue无法正常工作,这可能是由于多种原因造成的,比如设置不正确、SQL Server Service Broker存在问题,或者队列本身有问题。以下是一些故障排除步骤: Check SQL Server Service Broker: 你的队列所在的数据…

JS设计模式之“幽灵工厂” - 抽象工厂模式

image.png 一. 了解带头模范 - 抽象类 JavaScript中并没有原生的抽象类的概念,但可以通过一些方式来模拟实现抽象类的效果。 抽象类是一种不能被直接实例化的类,只能作为其他类的基类使用。它定义了一组抽象方法,子类必须实现这些抽象方法。…