启动与卸载云手机实例
启动云手机实例路径下应存在kbox_config.cfg配置文件。容器会使用该文件中的配置,因此使用时应确保kbox_config.cfg配置文件中的配置正确。若启动路径下无该配置文件,云手机将禁止启动。
通过修改中如表1所示的map中对应路数的值来选择该路容器使用的GPU、CPU以及数据卷存放路径,灵活配置云手机使用的资源,使性能达到最优。
参数名称 |
参数说明 |
配置说明 |
|---|---|---|
|
通过修改map中对应路数的值来选择该路容器使用的GPU。 |
|
KBOX_CPUSET_MAP |
通过修改map中对应路数的值来选择该路容器使用的CPU。 |
|
KBOX_MOUNT_MAP |
通过修改map中对应路数的值来选择该路容器使用的数据卷存放路径。 |
无 |
为确保Kbox云手机的稳定运行与最佳性能,请保障每个容器所绑定的CPU物理核和GPU渲染节点同属于一个CPU片。
Kbox云手机容器支持使能图形加速层,通过修改kbox_config.cfg配置文件中的“ENABLE_RENDER_LAYER”为1进行使能。打开“~/dependency/deploy_scripts”路径下的“kbox_render_accelerating_configuration.xml”配置文件,对应用的图形加速层功能进行配置。具体配置项描述请参见《视频流引擎 特性指南(Android 15)》中的“图形加速层配置项”章节。首次启动云手机容器后,若需要修改图形加速层功能的配置,修改配置文件中应用对应的配置,手动将其拷贝到云手机容器“/data/local/tmp”路径,重启应用生效。
- 解压Kbox-AOSP15.zip,将Kbox-AOSP15文件夹中的“deploy_scripts”目录上传至服务器的“~/dependency”目录。
- 通过android_kbox_aosp15.sh脚本启动容器。
1 2 3
cd ~/dependency/deploy_scripts chmod +x android_kbox_aosp15.sh ./android_kbox_aosp15.sh start {镜像名称:tag} ${index1}
Kbox基础云手机的默认配置信息如表2所示。
启动脚本使用示例:启动一个编号为1的实例。1./android_kbox_aosp15.sh start kbox:origin 1
- 启动容器的过程中可能会出现“writing syncT "procError"”、“exec /system/bin/chmod: no such file”等类似报错,该类报错不影响正常功能,忽略即可。
- 启动容器时,指定的${index1}对应容器绑定的端口,例如index1=10时,对应使用端口8010/8510。在启动时需要确保对应的端口没有被占用。
- 可以通过以下指令查询Kbox内核动态开关状态。
1cat /sys/kernel/kbox/kbox_enable回显为“1”,表示Kbox内核动态开关为打开状态;回显为“0”,表示Kbox内核动态开关为关闭状态。
若查询发现Kbox内核动态开关为关闭状态,请通过以下指令手动打开该开关。1echo 1 > /sys/kernel/kbox/kbox_enable
- 执行如下命令确认Kbox容器是否启动成功,其中“${index}”为启动实例的编号。
1docker exec -it kbox_${index} getprop | grep boot_completed
若回显信息中的sys.boot_completed显示为“1”,则启动成功。
- 可选:停止并删除Kbox容器的方法。
由于Kbox方案默认挂载数据卷,默认的docker stop、docker rm命令不能彻底清理容器数据,需要使用脚本彻底清理主机侧文件。
使用android_kbox_aosp15.sh脚本,停止并删除正在运行的Kbox容器。
停止并删除编号为${index}的容器。1./android_kbox_aosp15.sh delete ${index}
- 可选:重启Kbox容器的方法。
由于Kbox方案默认挂载数据卷,在重启容器时,无法使用默认的docker restart命令进行重启,需要使用脚本执行容器的重启操作。
使用android_kbox_aosp15.sh脚本重启Kbox容器。
重启编号为${index}的容器。1./android_kbox_aosp15.sh restart ${index}