云手机简述(概况,使用场景,自己部署云手机)
背景
最近经常会看到云手机的相关广告,手痒难耐,了解一下。
我的主要需求:
- Android 已 root,能够做一些自动化等高级功能。
- 能够通过 远程adb 控制手机。
- 能够尽量的少花钱,最好是能够提供动态创建删除手机的方式,用的时候才付钱。
什么是云手机
之前以为云手机,就是服务商搭建了一个平台,后面用了物理真机,提供用户使用。可能很久之前真是这么做的,但主要是内部使用,不会作为服务提供给 C 端用户。通常是公司内部做测试或者说多账号托管等个人使用的场景。
但是现在大多数都是使用虚拟化技术。
云手机(Cloud Phone)是一种基于云计算技术的虚拟手机服务,它将手机的操作系统和应用程序托管在云端服务器上,用户可以通过互联网连接来访问和操作这些虚拟手机。与传统的智能手机不同,云手机不需要依赖物理硬件,用户可以使用多种设备(如智能手机、平板电脑、笔记本电脑等)通过互联网访问和使用云手机服务。
云手机使用场景
- 开发测试:环境、模拟不同的设备、操作系统版本和网络环境。
- 游戏:挂机、大小号搬砖等。
- 跨境:国际旅行中,可以使用云手机的相关服务,避免高昂的国际漫游费用。跨境电商网络波动、账号限流封号等问题。
- 社交媒体:多个社交媒体账号,点赞互动、抢红包等。
- 学习:对于学生和家长来说,可以在云手机中安装学习软件,家长也可以通过云手机监控孩子的学习情况。
- 机器人流程自动化:云手机可以实现在多个应用场景下的自动化操作,提升工作效率,如手游云测、电商铺货、数据采集分析等。
- 安全办公:主打办公数据保密(数据可用不可取,端外一律不可见;云端调取数据,终端显示信息;统一部署发布,分级设置权限)、工作和生活终端分离。
- 其他临时需求:短期使用,无需购买实体设备。
云手机厂商
从云服务厂商入手:
整体来说 阿里、京东、天翼的都是比较便宜的,日常测试使用足够了,但现在看来貌似只有阿里有按使用量付费(0.3/小时),可以随时创建销毁实例,比较符合我的需求。
名称 | 官网 | root | 价格 | api 调用 |
---|---|---|---|---|
阿里 无影云手机 | https://help.aliyun.com/zh/ecp/ | 是 | 0.3/台/小时 | 是 |
京东 | https://www.jdcloudphone.com/Doc/detail?TypeId=CLOUD_PHONE&Id=1336 | 是 | 60/月/台,没有按使用时长计费的模式 | 是 |
华为 云手机服务器CPH | 是 | 比较贵,是按照云手机服务器来买的,一个服务器能开很多个手机 OS 系统,按时间来卖的,默认一个月一万,便宜的6000 | 是 | |
百度 BAC | https://cloud.baidu.com/doc/ARMCM/index.html | 主要面向企业的,需要输入相应的信息才能申请试用,没尝试 | ||
腾讯 | https://wetest.qq.com/documents/detail/cloudtest/84XN0YkD | 是 | 999/月,60/小时 | 暂未找到 api 调用 |
天翼 | https://www.ctyun.cn/document/10005790 | 是 | 60/月/台,没有按使用时长计费的模式 | 暂未找到 api 调用 |
移动 | https://ecloud.10086.cn/op-help-center/doc/category/1247 | 是 | 255/月/台 | 有 api 调用,可以灵活控制手机,但是需要专属版、尊享版才提供 |
云手机应用,没有做过多的了解,应该都没有开放 api 调用,大多都是需要下载应用才能使用的。
名称 | 官网 | 价格 | api 调用 |
---|---|---|---|
Hubstudio | https://www.hubstudio.cn/cm/ | 99/月 | 否 |
红手指 | https://www.gc.com.cn/ | 286/年 | 否 |
云帅云手机 | https://www.yuncap.com/ | 24.8/月 | 否 |
雷电云手机 | https://www.ldyunos.com/ | 36/月 | 否 |
多多云手机 | https://www.ddyun.com/ | 否 | |
爱云兔 | https://51yuntu.haimawan.com/index.html | 否 | |
双子星 | https://www.androidscloud.com/ | 否 | |
蓝光云手机 | http://gua.lgshouyou.com/ | 是 | |
河马云 | https://hmy.longene.com.cn/ | 否 | |
云派网络 | https://padyun.com/ | 否 |
自己的云手机
本地部署了 redroid,adb 连接、网络抓包等功能都是可用的,但是使用 scrcpy 连接还是会感觉不太流畅,可能是我的机器太烂了吧。
这里就不介绍如何部署了,感兴趣的自己尝试,相应的链接贴在下面:
- redroid
- docker-android
- waydroid
- 香橙派5plus上跑云手机方案二 waydroid
- 开源云真机平台sonic,这个主要是做测试用的,不是自己构建云手机的
总结
基于我的需求,最符合的还是阿里的无影云手机,不过实际使用还是会遇到一些小问题,但问题都能接受,主要是它有大厂背书,而且还便宜。
从我的角度看,云手机目前主要还是面向 B 端的使用会更多一些,面向 C 端的主要还是以游戏挂机、跨境业务等位主导。
实际使用云手机,并没有想象中的那么流畅,但是都是在能够接受的范围内。
最后介绍了一下如何做自己的云手机,目前我尝试使用 redroid 自己部署了一下,实际使用体验还是不错的。使用三方设备,优点就是省心,不用自己去维护,但是缺点也很明显,设备运行稳定性、可靠性、数据安全性全部依赖第三方厂商,毕竟用三方的还是没有用自己的安心啊。
相关文章:

云手机简述(概况,使用场景,自己部署云手机)
背景 最近经常会看到云手机的相关广告,手痒难耐,了解一下。 我的主要需求: Android 已 root,能够做一些自动化等高级功能。能够通过 远程adb 控制手机。能够尽量的少花钱,最好是能够提供动态创建删除手机的方式&…...

Java已死,大模型才是未来?
作者:不惑_ 引言 在数字技术的浪潮中,编程语言始终扮演着至关重要的角色。Java,自1995年诞生以来,便以其跨平台的特性和丰富的生态系统,成为了全球范围内开发者们最为青睐的编程语言之一 然而,随着技术的…...

NCCL安装(Ubuntu等)
目录 一、NCCL的定义二、安装NCCL的原因1、加速多GPU通信2、支持流行的深度学习框架3、提高计算效率4、易于使用和集成5、可扩展性 三、NCCL安装方法1、下载安装包2、更新APT数据库3、使用APT安装libnccl2包,另外,如果需要使用NCCL编译应用程序ÿ…...

加载视频显示 - python 实现
#-*-coding:utf-8-*- # date:2021-03-21 # Author: DataBall - Xian # Function: 加载视频并显示import cv2 if __name__ "__main__":#加载视频cap cv2.VideoCapture(./video/1.mp4)while True:ret, img cap.read()# 获取相机图像if ret True:# 如果 ret 返回值为…...

数据结构模拟题[五]
数据结构试卷(五) 一、选择题 (20 分) 1.数据的最小单位是( )。 (A) 数据项 (B) 数据类型 (C) 数据元素 (D) 数据变量 2.设一组初始记录关键字序列为 (50 ,40, 95,20…...

IDEA切换窗口快捷键失效
问题描述: 在idea中,如果切换窗口的快捷键(Alt Tab)失效了,可以通过清除缓存的方式修复...

QT中使用图表之QChart绘制X轴为日期时间轴的折线图
显然X轴是日期时间轴的话,那么我们使用的轴类就得是QDateTimeAxis QChart中日期时间轴的精度是毫秒 因此图表里面的数据的x值需要是一个毫秒数,才能显示出来 --------------------------------------------------------------------------------------…...

【传知代码】短期电力负荷(论文复现)
🍑个人主页:Jupiter. 🚀 所属专栏:传知代码 欢迎大家点赞收藏评论😊 目录 备注前言介绍问题背景复现:一. 多维特征提取的提取框架:二. 论文中进行性能测试的MultiTag2Vec-STLF模型:三…...

ubuntu20.04 加固方案-设置重复登录失败后锁定时间限制
一、编辑PAM配置文件 打开终端。 使用文本编辑器(如vim)编辑/etc/pam.d/common-auth文件。 sudo vim /etc/pam.d/common-auth 二、添加配置参数 在打开的配置文件中,添加或修改以下参数: auth required pam_tally2.so deny5 un…...

【综合算法学习】(第十三篇)
目录 解数独(hard) 题目解析 讲解算法原理 编写代码 单词搜索(medium) 题目解析 解析算法原理 编写代码 解数独(hard) 题目解析 1.题目链接:. - 力扣(LeetCode)…...

Web3 Key Talking #4|Sui有何不同?及其发展路线图
活动时间: 2024 年 10 月 31 日(周四)20:00–21:00(UTC8) 会议链接: 腾讯会议 会议 ID :429–339–777 主持:Sanzhisanzhichazi1 嘉宾:uvdwangtxxl,Sui …...

Axios 请求超时设置无效的问题及解决方案
文章目录 Axios 请求超时设置无效的问题及解决方案1. 引言2. 理解 Axios 的超时机制2.1 Axios 超时的工作原理2.2 超时错误的处理 3. Axios 请求超时设置无效的常见原因3.1 配置错误或遗漏3.2 超时发生在建立连接之前3.3 使用了不支持的传输协议3.4 代理服务器或中间件干扰3.5 …...

数据结构+算法
一、数据结构 1、线性结构 数组: 访问:O(1)访问特定位置的元素;插入:O(n)最坏的情况发生在插入发生在数组的首部并需要移动所有元素时;删除:O(n)最坏的情况发生在删除数组的开头发生并需要移动第一元素后…...

利用ExcelJS封装一个excel表格的导出
ExcelJS 操作和写入Excel 文件。 直接上代码,js部分: exportFn.js import ExcelJS from exceljs; import { saveAs } from file-saver;export function exportExcleUtils(tHeader, filterVal, listData, fileName) {//设置工作簿属性const workbook ne…...

AI 原生时代,更要上云:百度智能云云原生创新实践
本文整理自百度云智峰会 2024 —— 云原生论坛的同名演讲。 我今天分享的主题,是谈谈在云计算和 AI 技术快速发展和深入落地的背景下,百度智能云在云原生的基础设施产品和技术层面做的一些创新实践。 毋庸置疑,过去十几年云计算和 AI 技术是…...

C语言程序编译运行
程序功能:使用 printf() 输出 “Hello, World!”。 C语言源程序: #include <stdio.h> int main() {// printf() 中字符串需要引号printf("Hello, World!");return 0; }编译过程: vim hello.c gcc hello.c -o hello ./hell…...

视频点播系统扩展示例
更多的前端页面(如视频详情页、用户注册页等)。更复杂的业务逻辑(如视频评论、搜索功能等)。安全性和权限管理(如用户角色管理、权限控制等)。其他技术细节(如文件上传、分页查询等)…...

echo $? —— Linux 中的退出状态码详解
在 Linux 系统中,echo $? 是一个非常重要的命令,用于显示上一条命令的退出状态码。这个小小的符号组合可以帮助我们判断命令是否成功执行,同时也为编写自动化脚本提供了基础支持。本文将详细介绍 echo $? 的用法及其在实际开发中的应用。 …...

heic格式转化jpg最简单方法?快来学习这几种简单的转换方法!
heic格式转化jpg最简单方法?在当今的数字图像处理领域,HEIC格式以其卓越的压缩效率和高质量图像表现,正逐渐崭露头角并受到业界的深切关注,HEIC格式凭借先进的压缩技术,成功地在保持图像清晰度的同时,大幅度…...

力扣(leetcode)每日一题 3259 超级饮料的最大强化能量|动态规划
3259. 超级饮料的最大强化能量 题干 来自未来的体育科学家给你两个整数数组 energyDrinkA 和 energyDrinkB,数组长度都等于 n。这两个数组分别代表 A、B 两种不同能量饮料每小时所能提供的强化能量。 你需要每小时饮用一种能量饮料来 最大化 你的总强化能量。然而…...

Webserver(2.7)内存映射
目录 内存映射内存映射相关系统调用内存映射的注意事项如果对mmap的返回值(ptr)做操作,释放内存(munmap)是否能够成功?如果open时O_RDONLY,mmap时prot参数指定PROT_READ | PROT_WRITE会怎样?如果文件偏移量…...

vue3父子组件传值,子组件暴漏方法
1.父传子 defineProps 父组件直接通过属性绑定的方式给子组件绑定数据,子组件通过defineProps接收函数接收 其中v-model是完成事件绑定和事件监听的语法糖。v-model算是v-bind和v-on的简洁写法,等价于 <c-input ref"inputRef" :modelValue…...

Linux_04 Linux常用命令——tar
一、命令格式 tar [选项] [归档文件] [要处理的文件或目录]1、选项 c创建归档文件x解压缩归档文件z使用gzipj使用bzip2v处理过程显示信息f指定归档文件名称 2、归档文件-可指定目录及文件名 /home/wang.tar.gz 3、要处理的文件或目录 /home/study1/wang 二、常见命令 t…...

Java项目实战II基于Java+Spring Boot+MySQL的编程训练系统(源码+数据库+文档)
目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在当今数字…...

Rust:文档注释 //! 和 ///
在 Rust 编程语言中,//! 是一种特殊的文档注释(documentation comment)。它用于为整个模块、结构体、枚举、函数或其他项提供文档说明。与单行注释 // 和多行注释 /* ... */ 不同,//! 和 ///(用于紧跟在项之前的文档注…...

练习LabVIEW第二十七题
学习目标: 刚学了LabVIEW,在网上找了些题,练习一下LabVIEW,有不对不好不足的地方欢迎指正! 第二十七题: 创建一个VI程序模拟温度测量。假设传感器输出电压与温度成正比。例如,当温度为70F时&…...

使用React构建现代Web应用
💖 博客主页:瑕疵的CSDN主页 💻 Gitee主页:瑕疵的gitee主页 🚀 文章专栏:《热点资讯》 使用React构建现代Web应用 1 引言 2 React简介 3 安装React 4 创建React项目 5 设计应用结构 6 创建组件 7 使用组件…...

【系统设计】Merkle 算法在 Git 中的应用:深入理解与实践
引言 在现代软件开发中,Git 已成为版本控制的事实标准。Git 能够快速处理项目的变化,确保代码的完整性,其中一个关键技术就是 Merkle 树。本文将深入探讨 Merkle 算法的原理,以及其在 Git 中的具体应用。 1. Merkle 算法的原理 …...

【umi max】关于umi构建的项目在本地服务运行正常,但是部署时无致命报错却白屏,html文档的#root容器没有子元素的原因及解决办法
我们在部署时运维很可能会因为项目太多,进而放到不同的目录底下,例如project/H5-TEST-DEMO (其中project是项目的存放目录,而H5-TEST-DEMO才是我们部署的项目根目录)于是乎就会出现我们在本地服务里调试得好好的&#…...

Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
本示例演示在vue+openlayers中实现轨迹动画,这里设置了小汽车开始,暂停,结束等的控制键,采用了线段步长位置获取坐标来定位点的方式来显示小车的动态。 效果图 专栏名称内容介绍Openlayers基础实战 (72篇)专栏提供73篇文章,为小白群体提供基础知识及示例演示,能解决基…...