云手机简述(概况,使用场景,自己部署云手机)
背景
最近经常会看到云手机的相关广告,手痒难耐,了解一下。
我的主要需求:
- 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 两种不同能量饮料每小时所能提供的强化能量。 你需要每小时饮用一种能量饮料来 最大化 你的总强化能量。然而…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...