项目面向云手机与云真机使用场景。传统 Android 测试与演示依赖真机,一人一机、难以批量复用,远程协作时也无法把整机画面和运行环境直接交给对方。平台的目标是把 AOSP 系统做成可远程、可批量、可隔离的云机实例:在一台物理板卡上同时运行多台 Android 云机,用户通过浏览器即可查看画面、操作触摸与键盘、安装应用并分享访问链接;测试与研发人员可以批量执行 ADB 任务和回归验证,从而把真机资源从一人独占变成按需分配。
点击空白处退出提示
项目面向云手机与云真机使用场景。传统 Android 测试与演示依赖真机,一人一机、难以批量复用,远程协作时也无法把整机画面和运行环境直接交给对方。平台的目标是把 AOSP 系统做成可远程、可批量、可隔离的云机实例:在一台物理板卡上同时运行多台 Android 云机,用户通过浏览器即可查看画面、操作触摸与键盘、安装应用并分享访问链接;测试与研发人员可以批量执行 ADB 任务和回归验证,从而把真机资源从一人独占变成按需分配。
平台由四层组成:AOSP 定制镜像、云机实例虚拟化层、宿主运行时和云机管理平台。主要功能模块包括:一、AOSP 定制镜像构建,涵盖设备树、产品配置、系统属性、SELinux 策略与系统应用裁剪;二、云机实例多开与管理,单块板卡承载多个独立云机,各自拥有独立显示、输入、存储与 ADB 端口;三、浏览器远程画面,基于 WebRTC 传输画面并提供触摸、键盘、粘贴控制;四、ADB 直连与端口转发,支持外部调试和批量任务下发;五、应用安装能力,支持拖拽安装单个 APK、应用库上传以及多台云机批量安装;六、云机状态聚合与分享链接、永久分享;七、宿主资源监控与日志采集;八、设备身份画像热切换,可在不重启的前提下切换设备型号与指纹,并刷新 zygote 内缓存的 Build 字段。
我负责 AOSP 侧的定制与云机适配,镜像基线为 Android 16(API 36)。主要工作包括:搭建并维护设备树与产品配置,完成系统属性、SELinux 策略、系统应用与权限配置的定制;实现设备身份画像体系,通过 system_server 内的本地 HTTP 服务提供 setDeviceInfo、randomizeDeviceInfo 等接口,随机化序列号、Android ID、Wi-Fi/蓝牙 MAC、设备名等字段,并在 boot_id 切换时同步创建 ashmem 设备节点,避免 SystemUI 与普通应用崩溃;实现全局与按包粒度的网络代理设置接口;配合底层虚拟化运行时完成单板多实例的资源隔离与启动脚本;通过 ADB 与 PackageInstaller 完成应用安装链路的联调与问题定位。构建基于 AOSP 16 编译环境,产品目标为 oneplus_caihong 系列,产物用于云机镜像部署;平台版本字段统一对齐 16 / 36,保证热切画像时 PackageManager 扫描 system_ext APEX 不会因低 SDK 失败。



评论