最新动态

APP灰度测试提速10倍:星界云手机ADB白名单一键接入CI/CD流水线

2026-04-02

Google Play 管理中心推送邮件的标题只有一句话:
“自 8 月起,新应用必须上传 AAB,测试矩阵≥12 维度,否则无法上架。”
对,你没看错,不是建议,是强制。
12 维测试矩阵 × 4 个 ABI × 3 种屏幕密度,本地真机柜瞬间爆炸,CI/CD 排队 48 小时起跳。
就在团队准备追加 30 台 Pixel 时,运维同事甩来一条链接——星界云手机 ADB over IP 白名单接入方案
4 小时后,我们跑完了原本需要 2 天的 Monkey 回归。
账单显示:30 台 720P 普通版,合计 30 元,随用随停。


01 热点:AAB 强制令,测试矩阵“核爆”

Google 的算盘很清晰:AAB 让 APK 体积平均下降 20%,却顺手把测试复杂度翻了 10 倍。
- 每提交一次 Pull Request,Play Console 自动拉出 200+ 机型配置;
- 本地 20 台真机并行,依旧卡在“等待设备”阶段;
- 海外机房延迟 300 ms,ADB 断链率 15%,日志回传全靠运气。

运维算过账:再买 50 台真机,机柜、散热、PDU 一次性投入 6 万,还不算电费。
老板只回两个字:“用云”


02 方案:ADB over IP 直连星界云机

星界云手机把“云真机”做成了 SaaS:
- 每台云机自带公网 IP,原生开放 ADB 5555 端口;
- 控制台一键填入本机公网 IP,白名单 30 秒生效;
- 支持 adb connect ip:port 直连,也支持 adb -H ip -P 5555 shell,与本地真机零差异。

免 ROOT、免 USB、免 VPN,Jenkins 节点只要网络能通,就能把云机当作本地设备调度。
更关键的是:星界云机运行在 BGP 多线机房,延迟稳定在 30 ms 以内,断链率 <0.3%,比放在工位上的旧 Pixel 3 还稳。


03 实战:Jenkins 并行 50 台 Monkey,4 小时跑完 2 天任务

我们把步骤拆成 3 段,全部脚本化,10 分钟可复刻。

步骤 关键脚本片段 说明
1. 申请资源 ccloud phone create --spec 720-normal --count 50 --region gz 调用星界开放 API,一次性拉起 50 台普通版;返回 JSON 含 IP 列表。
2. 白名单同步 ccloud adb whitelist add ${JENKINS_NODE_IP} 自动把 Jenkins 构建机 IP 加入白名单,全局生效,无需逐台配置。
3. 并行 Monkey parallel -j 50 "adb connect {} && adb shell monkey -p com.xxx --throttle 200 -v 500000 > {}.log" ::: ${IP_LIST[@]} GNU Parallel 并发 50 路,单路 500k 事件,总耗时 3 h 52 min。

结果:
- 崩溃率 0.18%,与线下真机持平;
- 日志 50 份自动回传 Jenkins 归档,失败截图通过 adb pull /sdcard/DCIM 统一收集;
- 构建机释放后,云机立即销毁,费用精确到秒。


04 成本:30 元/月/台,随用随停

机型 CPU/内存 分辨率 月价 按需小时价
普通版 4C/3G 720×1280 30 元 0.04 元
畅玩版 8C/4G 720×1280 38 元 0.05 元
高清版 8C/4G 1080×1920 48 元 0.07 元

以一次 4 小时 50 台普通版为例:
50 × 0.04 × 4 = 8 元,比请测试同事喝一杯奶茶还便宜。
如果只想白天跑任务,晚上自动关机,每月费用还能再腰斩。


05 不止 Monkey:云手机在 CI/CD 的 5 个高阶玩法

  1. 多分辨率截图对比
    同时拉起 720P、1080P、Pad 版,跑一遍 UI-Automator,自动生成三栏对比图,设计同事一眼可见错位。
  2. A/B 安装速度
    adb shell pm install 统计冷安装耗时,对比 AAB 与 Universal APK 的差距,数据直接写回 PR comment。
  3. 内存泄漏巡检
    搭配 LeakCanary CLI,30 台并行点击 2 小时,HPROF 文件回传 SonarQube,问题方法自动标注。
  4. 灰度地域模拟
    星界云机支持“公共网络/专属网络”双模式,绑定不同出口 IP,模拟德、美、东南亚用户,验证 CDN 调度与合规弹窗。
  5. 直播 SDK 压测
    直播增强版 1080P 自带 GPU 硬编,50 路同时推流 4 小时,CPU 温度稳定在 55 ℃,比本地矿机还冷静。

06 如何开始:三步上车

  1. 打开官网 https://www.chinac.com/Cloud/pro_cloudMoblie.html 注册账号;
  2. 控制台勾选“ADB 连接”,填入本机公网 IP(访问 ip138.com 即可查看);
  3. 复制 ADB 地址,本地 adb connect 验证,随后把脚本扔进 Jenkins 即可。

试用: 新账号联系在线客服,回复“CI/CD 试用”,免费领 1 天普通版 10 台,足够跑完一次回归。


写在最后

当 AAB 让测试矩阵指数级膨胀,最昂贵的不是设备,而是时间
星界云手机用“ADB 白名单 + 随用随停”把 48 小时压缩到 4 小时,成本却只有真机柜的 1/20。
下一次,当产品经理说“下班前给我出报告”时,你只需敲下 ccloud phone create,然后安心去吃饭。