Kbox云手机介绍
简介
Kbox云手机容器是鲲鹏BoostKit云手机Turbo套件的核心能力组件,本文介绍了Kbox云手机容器的基本概念,提供Kbox云手机容器的编译、部署及相关配置流程。
云手机是基于ARM服务器虚拟出的带有AOSP (Android Open Source Project,安卓开放源代码项目)系统的虚拟手机服务。简而言之,云手机=ARM服务器+Android OS。您可以远程实时控制云手机,实现Android APP的云端运行;也可以基于云手机的基础算力,高效搭建应用,如云游戏、移动办公、直播互娱等场景。
Kbox云手机容器是鲲鹏BoostKit云手机Turbo套件的重要组成部分,是实现Android应用运行的基础软件。它将AOSP系统直接运行在容器内,实现GPS、加速度传感器、陀螺仪、IMEI、Wi-Fi等外设硬件的数据Mock功能,以及Gralloc&HWComposor模块,确保AOSP系统可以正常启动运行。
Kbox云手机容器是鲲鹏BoostKit云手机Turbo套件的核心能力组件,本文介绍了Kbox云手机容器的基本概念,提供Kbox云手机容器的编译、部署及相关配置流程。
软件架构
本节介绍Kbox云手机容器的上下文逻辑结构与所包含的模块含义及作用。
Kbox云手机容器的整体架构如图 1 Kbox云手机容器架构图所示。
Android容器:采用闭源组件Kbox和开源的AOSP软件,在容器内使能Android系统的基础云手机方案。
Kbox主要实现VInput、传感器、GPS、Mock(IMEI/Wi-Fi)等硬件仿真以及GPU设备直通等功能,使能Android云手机容器方案。Kbox包含二进制和Demo两部分:
- 二进制:VInput(触屏输入模块)、Sensor(Sensor传感器相关的仿真)、GPS(实现GPS相关的仿真)、IMEI/Wi-Fi Mock(仿真)、Gralloc(离屏渲染)、HWC(图像合成)、Audio(音频模块)、OMX(解码模块)。
- Demo:MediaFramework、Vold、adbd、Init、netd基于Android系统开源代码提供增量patch给客户进行参考。
Docker:采用开源Docker软件,为Android系统提供软件运行时环境。
操作系统:基于开源openEuler作为Docker Host端操作系统。集成的GPU Kernel Driver驱动模块,为上层容器实例所共享,并驱动GPU卡完成渲染工作。ashmem/binder驱动为Android容器提供基本内存管理功能。
硬件环境:ARM服务器,包含GPU卡、内存、磁盘等硬件,为云手机提供硬件平台。
本节介绍Kbox云手机容器的上下文逻辑结构与所包含的模块含义及作用。
云手机规格
| 条目 | 配置 |
|---|---|
| 绑核策略 | 2容器/2核 |
| 核数 | 2核 |
| 内存 | 6GB |
| 存储 | 16GB |
| 分辨率 | 720 x 1280 |
├── docs # 项目文档目录
│ └── zh # 中文文档目录
│ ├── figures # 中文文档图片资源目录
│ ├── best_practices.md # Kbox云手机场景化应用最佳实践
│ ├── compile_guide.md # Kbox云手机编译指南
│ ├── feature_guide.md # Kbox云手机特性指南
│ ├── install_guide.md # Kbox云手机安装指南
│ ├── release_notes.md # Kbox云手机版本发布说明
│ ├── routine_maintenance.md # Kbox云手机例行维护
│ ├── security_statement.md # Kbox云手机安全声明
│ ├── test_guide.md # Kbox云手机测试指南
│ ├── troubleshooting.md # Kbox云手机使用常见问题
│ ├── user_guide.md # Kbox云手机使用指南
├── deploy_scripts # 部署容器相关脚本
├── make_img_sample # 一键式参考脚本
├── patchForAndroid # 安卓补丁
├── patchForExagear # 转码补丁
├── patchForKernel # 内核补丁Kbox云手机包含Android11和Android15两个分支版本,本节主要介绍两个版本差异和特性变更说明。
Kbox云手机是基于AOSP开发的,目前适配了AOSP11和AOSP15,由于Android版本的差异,Kbox云手机在两套代码用于支持不同的Android代码,分别是AOSP11和AOSP15两个代码分支。
| 代码分支 | AOSP11 | AOSP15 |
|---|---|---|
| 支持的内核版本 | 5.10 | 6.6 |
| 支持的docker版本 | 18.0 | 24.0 |
| 对应的AOSP版本 | 11 | 15 |
每个发布版本特性变更详细信息,请参见《版本说明书》。
Kbox云手机支持的硬件环境和操作系统,以及环境部署所需的软件包请参见《部署指南》中的“环境要求”。
Kbox云手机支持裸机和虚拟机,详见的环境部署请参见《部署指南》。
| 学习资源类别 | 学习资源名称 | 学习资源简介 |
|---|---|---|
| 文档 | 快速入门 | 提供Kbox云手机启动和操作的快速入门指导。 |
| 文档 | 版本说明书 | 提供Kbox云手机每个发布版本的基础信息和特性更新信息。 |
| 文档 | 部署指南 | 提供Kbox云手机裸机和虚拟机两种环境部署的详细指导。 |
| 文档 | 最佳实践 | 提供Kbox云手机在docker、k8s环境下的实践案例。 |
| 文档 | FAQ | 提供Kbox安装、使用过程的常见问题和解决方法。 |
Kbox版本维护策略如下:
| Kbox版本 | 维护策略 | 当前状态 | 发布时间 | 后续状态 | EOL日期 |
|---|---|---|---|---|---|
| Kbox11 | 长期分支 | 开发 | 2025/10/15 | 预计2026/03/15起进入维护状态 | - |
| Kbox15 | 长期分支 | 开发 | 2025/10/15 | 预计2026/03/15起进入维护状态 | - |
此代码仓仅包含AOSP、Linux Kernel相关补丁与功能演示代码,旨在展示特定功能的使用方法与集成方法,请勿将本仓库代码直接用于生产环境。所有代码仅为技术参考,不继承或承诺任何上下游软件的安全设计与防护机制。本仓库中的示例代码可能存在安全缺陷、漏洞或不完整实现,鲲鹏计算社区不对代码的安全性、稳定性及合规性承担任何责任。使用者应自行评估风险,并根据实际场景进行安全加固。任何因使用本仓库代码所引发的安全问题,均由使用者自行承担,建议持续关注上游开源项目的安全公告与版本更新。
致本项目使用者
本项目仅供调试和开发之用,使用者需自行承担使用风险,并理解以下内容:
- 数据处理及删除:用户在使用本工具过程中产生的数据属于用户责任范畴。建议用户在使用完毕后及时删除相关数据,以防信息泄露。
- 数据保密与传播:使用者了解并同意不得将通过本工具产生的数据随意外发或传播。对于由此产生的信息泄露、数据泄露或其他不良后果,本工具及其开发者概不负责。
- 用户输入安全性:用户需自行保证输入的命令行的安全性,并承担因输入不当而导致的任何安全风险或损失。对于输入命令行不当所导致的问题,本工具及其开发者概不负责。
免责声明范围:本免责声明适用于所有使用本工具的个人或实体。使用本工具即表示您同意并接受本声明的内容,并愿意承担因使用该功能而产生的风险和责任,如有异议请停止使用本工具。
在使用本工具之前,请谨慎阅读并理解以上免责声明的内容。对于使用本工具所产生的任何问题或疑问,请及时联系开发者。
致数据所有者
如果您不希望您的模型或数据集等信息在本项目中被提及,或希望更新本项目有关的描述,请在GitCode提交issue,我们将根据您的issue要求删除或更新您相关描述。衷心感谢您对本项目的理解和贡献。
本项目采用Apache License 2.0许可证。详见LICENSE文件 本项目的文档适用CC-BY 4.0许可证,具体参见文件LICENSE文件
欢迎大家为社区做贡献,如果使用过程中有任何问题/建议,或者需要反馈特性需求和bug报告,可以提交Issues联系我们,具体贡献方法可参考这里。同时也欢迎大家在讨论专区展开讨论交流。感谢您的支持。
欢迎大家为社区做贡献。如果有任何疑问或建议,请提交Issues,我们会尽快回复。感谢您的支持。
Kbox由华为公司的下列部门联合贡献:
- 鲲鹏计算Boostkit开发部
感谢来自社区的每一个PR,欢迎贡献Kbox!
