- Author:ZERO-A-ONE
- Date:2022-05-25
最近在弄一些Android开发项目,需要经常用到进行测试工作。现在主流的模拟器无法模拟ARM64架构,就无法运行目前主流的APP程序(基于M1处理器的Mac中Android Studio提供的模拟器原生支持)。然后真机调试的话目前手上也没有对应的设备,而且维护保养也很麻烦。所以之前在Genymotion中看到了Cloud项目,然后里面云服务提供商里面出现了阿里云,所以就来看看。
华为云的云手机项目感觉主要是面向企业客户比较多,对于个人用户来说收费计划不太友好。
0x1 简介
来自于阿里云官方文档:什么是弹性云手机 (aliyun.com)
1.1 什么是弹性云手机
弹性云手机(Elastic Cloud Phone)是一台运行在云端服务器的虚拟手机,利用公有云和ARM虚拟化技术,为您在云端提供一个安卓移动应用平台。您基于电脑、平板等终端设备,以串流的方式,远程实时操控云手机,实现游戏、办公等应用在云端运行。
1.1.1 为什么选择弹性云手机
云手机是一种新的产品形态,重新定义了手机接入方式。您可以通过云手机处理传统物理手机无法完成的工作,是真实物理手机产品的有效延伸。例如,在移动测试、云游戏、移动办公等场景,可以充分发挥云上资源的弹性、安全等优势,将其当成一个移动应用平台。
- 按需使用
针对互联网企业移动应用测试,游戏企业新游戏上线前的大批量压测,需要大批量手机按需短时间拉起满足业务要求,任务完成后及时释放达到成本优化目的,可大幅降低您对真实手机的运维管理成本。
- 安全可靠
云手机采用EBS块存储设备,数据存储可靠性9个9,明显高于真实物理手机。数据全部存储在云端,解决了政务、金融场景数据不落地的需求,提供更加高效安全的移动办公解决方案。
- 优异性能
云手机采用企业级GPU硬件加速以及自研的音视频串流编解码技术,具备接近真机的端到端时延,可有效应用于云游戏以及直播互动等场景。
1.2 应用场景
阿里云手机可以广泛应用于具有高效安全管控的云办公场景、需要大量手机的仿真测试场景以及无需下载,低配置终端也可以畅享大型游戏的云手游场景。
1.2.1 仿真测试
通常手机主要面向个人提供服务,但随着移动应用越来越多,数量越来越庞大,企业在特定的场景下也需要大量的运行手机上的移动应用APP,来完成自动化或智能化的功能,为此需要大量的仿真手机来承载此类APP运行。通过云手机方式,替代线下大规模采购安卓设备,同时支持更灵活的控制方式,可修改设备属性,降低人工操作成本和设备购置成本。
1.2.2 云手游
云游戏作为游戏行业的热门发展方向,通过视频流化的方式面向玩家提供免下载,脱离手机性能的一种游戏服务方式,其本身包含了PC游戏的流化和移动游戏的流化。云手机作为云端仿真手机可以发挥移动游戏指令同构的优势,在云端承载游戏应用。通过GPU硬件加速,实现手游在云端运行。 让中低配手机用户也能流畅运行大型手游,增加游戏覆盖的用户范围。提供云游戏基础设施和行业解决方案,使企业能够快速的搭建云游戏业务。
1.2.3 云办公
随着移动应用的普及,越来越多的企业开始通过移动终端接入办公,但同时也带来了企业数据安全的隐患,采购定制安全手机虽然可以增强安全性,但仍然无法防止敏感数据泄露。基于云手机的移动办公应用可以将企业核心数据留在云端,而仅仅将手机画面向授权员工开放,个人可直接在本地操作云手机中的企业办公应用,实现企业安全办公,企业灵活便捷的实现APP的批量控制、APP数据监控与挖掘、企业安全办公等服务。
1.3 手机规格
弹性云手机不同的规格适配不同的应用场景,通过手机规格的定义,方便您根据自己的业务选择合适自己的规格部署移动应用业务。本文主要介绍云手机规格分类。
规格名称 | 规格标识 | 规格配置 |
---|---|---|
普通型 | ecp.ce.large | CPU:2核 - 内存:4G - 系统盘:32G |
性能型 | ecp.ce.xlarge | CPU:4核 - 内存:8G - 系统盘:32G |
0x2 购买
直接进入购买云手机实例就行,我的建议是直接按量付费即可。因为我们很多时候都是临时使用,价格也很便宜只需要0.28元每小时
这里需要注意的是交换机的地区问题,比如北京云手机所在的交换机地区是北京可用区K
0x3 配置
3.1 配置密钥
如果要使用ADB连接,首先需要配置密钥,也就是我们常用的SSH公钥连接方式
这里我推介使用ADB工具创建密钥对
首先我们最好先清除原先的密钥对,重新生成密钥对
$ adb kill-server
$ adb devices
默认情况下,ADB 服务器生成的密钥对以 adbkey(私钥)和 adbkey.pub(公钥)的形式存储在以下密钥存储库目录中
- MacOS 操作系统,文件位置为:
~/.android
- Windows 操作系统,文件位置为:
C:\Users\xxx\.android
在左侧导航栏,单击密钥管理。单击导入密钥对,输入密钥对名称,复制粘贴通过ADB工具生成的公钥内容,点击确认
3.2 绑定密钥
选中列表密钥对,单击绑定密钥对,绑定到预登录的云手机实例即可
注意:云手机绑定密钥需重启手机生效!
3.3 开放端口
3.3.1 WebRTC
一定要在安全组中放行所需80(TCP)和50000/50007(UDP)端口
3.3.2 ADB
一定要在安全组中放行TCP和UDP的出入口5555端口
3.4 连接云手机
$ adb connect device_ip_address:5555
$ adb devices
- 其中device_ip_address是云手机实例的公网IP
- 端口号可以任意指定,确保端口号不被占用且安全组已经放行该端口,否则会连接失败