CLOUSD
注册账户

在真机型号上测试安卓应用

安卓兼容性测试:真机型号矩阵,无需自建机房

在真机型号上测试安卓应用,而且就是你的用户手里的那些机型:11个品牌的150+款机型,Android 12–17。每次运行前恢复到干净的快照,克隆出多台并行跑,每台手机都能通过ADB和API访问。

150+款手机型号 A12–17个可启动的Android版本 11个品牌
测试矩阵今天可启动15个组合
机型A13A14A15A16A17
Pixel 9
Galaxy S24
Galaxy A16 5G
Pixel 7
Galaxy A54 5G
moto g (2025)
今天就能启动该机型不提供
实时取自机型注册表/devices/

用户手里的那些手机。

不用自建机房的安卓真机测试平台:从平价的Galaxy A系列到今年的Pixel,每款机型都根据真机的完整信息采集打造,并在开放启动前与真机逐项对比。它不是模拟器:Android以该机型的配置原生运行在ARM服务器上。

150+款机型在库
11个品牌,从Samsung到Nothing
A12–17Android版本,每台单独选
2020–2026覆盖的发布年份

在真实屏幕上看布局

分辨率、像素密度和显示特性都与真机屏幕一致,布局、截图和视觉检查都和真机对得上。

图形参数与出厂一致

GPU厂商和渲染器字符串、OpenGL和Vulkan版本都来自真实芯片组,你的应用看到的就是它预期的硬件。

内置Google Play

像真手机一样预装Google Play服务和Play商店,需要它们来登录、支付或更新的应用都能正常用。

每次运行都是一台干净的手机。

把手机调到测试需要的状态,拍个快照,每次运行前都恢复到这个状态。一台不够用,就从同一个快照克隆更多台。一次调用即可恢复到干净快照。

  • 每次运行前恢复一次调用就把手机回滚到干净快照,每次运行都从同一状态开始。
  • 克隆并行运行从同一个快照创建新手机,每台都有独立的设备身份,把测试套件拆到多台设备上跑。
  • 每晚备份按计划每晚给手机拍快照;关机等待期间不收费。
qa01 · 快照v20Pixel 9 · Android 16
安装你的构建包
快照干净状态
运行测试在任意副本上
恢复下一轮运行前
qa02qa03qa04qa05qa06qa07
从v20克隆,每台都有独立的设备身份POST /clone

需要深入底层时,用ADB。

每台手机都有独立的ADB中继。在你为指定IP、指定时长开启之前,它始终关闭;可能损坏设备的操作一律拒绝。

  • 默认关闭,手动开启按手机单独开启,白名单最多20个IP或CIDR。
  • 到期自动关闭默认24小时,最长7天;会话空闲30分钟后自动断开。
  • 一次性登录码只显示一次;输错会锁定中继。每台手机最多3个会话,每个会话push和pull最多2 GiB。
  • 危险服务一律拒绝root、remount、disable-verity、reverse、reboot、tcpip、usb、jdwp、sideload和restore始终被拒绝。每个会话都有日志。
终端
# 1. open ADB on qa01 for your IP, 24 hours (dashboard or API)
curl -X POST https://api.clousd.com/v1/devices/qa01/adb \
  -H "Authorization: Bearer $CLOUSD_KEY" \
  -H "Content-Type: application/json" \
  -d '{"allow_ips":["203.0.113.7"],"ttl_hours":24}'
# → connect command and a one-time code, shown once

# 2. connect and sign in with the code
adb connect $HOST:$PORT
adb -s $HOST:$PORT shell clousd-login $CODE

# 3. work as usual
adb -s $HOST:$PORT install app-debug.apk
adb -s $HOST:$PORT shell pm list packages | grep example
adb -s $HOST:$PORT logcat -d | tail -n 50

接入CI。

测试运行需要的一切,都是https://api.clousd.com/v1上的一次REST调用。耗时操作会返回202和一个任务供你轮询,密钥可以限定到测试手机,并设为只读或控制权限。详见REST API与ADB中继和CI相关接口。

POST/devices/{id}/snapshots/{snap}/restore恢复干净状态
POST/devices/{id}/apk安装构建包
POST/devices/{id}/action打开、点击、输入
GET/devices/{id}/screenshot当前画面
GET/devices/{id}/logs最近的logcat
POST/devices/{id}/snapshots/{snap}/clone并行副本
GET/jobs/{id}轮询任务
API参考
API=https://api.clousd.com/v1
AUTH="Authorization: Bearer $CLOUSD_KEY"

# reset qa01 to its clean snapshot and wait for the job
JOB=$(curl -s -X POST -H "$AUTH" \
  $API/devices/qa01/snapshots/v20/restore | jq -r .job.id)
until [ "$(curl -s -H "$AUTH" $API/jobs/$JOB | jq -r .job.state)" \
  != running ]; do sleep 3; done

# install this build and open it
curl -s -H "$AUTH" -F apk=@app-release.apk $API/devices/qa01/apk
curl -s -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"op":"open_app","package":"com.example.app"}' \
  $API/devices/qa01/action

# keep the evidence
curl -s -H "$AUTH" $API/devices/qa01/screenshot -o after.png
curl -s -H "$AUTH" $API/devices/qa01/logs > logcat.txt

在不同国家测试你的应用。

给手机分配一个其他国家的出口,它的时区、语言、键盘、应用商店和SIM国家都会跟着变,你看到的应用就和当地用户看到的一样。坐在工位上就能实时看着测试运行。

实时画面WebRTC · 触控和键盘
4000 kbps
2500 kbps
1500 kbps
800 kbps

你的网络变差时,画面会逐级降低画质;网络恢复后再升回来。Multi-view(多屏)同时显示多块屏幕,Sync(同步)把你的操作同步到选中的手机上。

qa01qa02qa03qa04
自适应画质分级4000 → 800
qa-jp · Galaxy A16 5G运行中
网络出口移动 · 日本
时区Asia/Tokyo
语言日本語
应用商店和SIM国家日本
区域JP,东京
美国英国德国巴西印度新加坡日本澳大利亚
时区、语言、应用商店和SIM跟随出口11个区域

应用测试常见问题

还有其他问题?请联系客服,通常一个工作日内由真人回复。

这是模拟器吗?

不是。Android以真机型号的配置原生运行在ARM服务器上,你的应用看到的是这款机型,而不是一台通用的模拟器设备。云手机与模拟器的区别

可以免费试用吗?

可以。你的第一台手机可免费运行30分钟,无需绑卡,也无需充值。之后按分钟计费,不按席位收费:手机运行时每分钟$0.004。

可以指定具体的Android版本吗?

可以,按手机单独选。机型库中每款机型都列出了今天能启动的版本,Android 12–17。Android 12–14为基础价;Android 15加价10%,Android 16和17加价25%。

两轮测试之间怎么重置手机?

在干净状态下拍一次快照,之后每轮运行前恢复这个快照。只需一次API调用,返回202和一个任务,在/v1/jobs/{id}轮询即可。

可以并行跑测试套件吗?

可以。从干净快照克隆出新手机,每台都有独立的设备身份,把套件拆到这些手机上跑;或者对整个分组执行同样的步骤,随机错开时间。

ADB会暴露在公网上吗?

不会。ADB默认关闭。你需要按手机单独开启,设置最多20个IP或CIDR的白名单和有效期(默认24小时,最长7天),用一次性验证码登录,每个会话都有日志。

可以安装我自己的APK吗?

可以:在控制台上传,发送到POST /v1/devices/{id}/apk,或者通过中继用adb install安装。

AI Agent能跑测试吗?

能,目前处于抢先体验阶段:Agent查看屏幕和界面元素,再通过observe和act调用点击、输入,每次运行都从干净快照开始。详见由Agent驱动的测试。

可以测试我的应用在其他国家的表现吗?

可以。给手机分配该国家的出口,它的时区、语言、键盘、应用商店和SIM国家都会跟着变。区域选离你的团队最近的,画面和ADB都会更流畅。

免费试用

一分钟把你的应用装到真机型号上。

  • 前30分钟免费,无需绑卡。
  • 选一款机型和Android版本。
  • 安装你的构建包,开始测试。
关机不计费每个账户可试用一次,设备状态保留