启动与卸载云手机实例
启动云手机实例路径下应存在kbox_config.cfg配置文件。容器会使用该文件中的配置,因此使用时应确保kbox_config.cfg配置文件中的配置正确。若启动路径下无该配置文件,则云手机将禁止启动。
kbox_config.cfg配置文件中有KBOX_GPU_MAP、KBOX_MOUNT_MAP、KBOX_CPUSET_MAP等配置项,可以修改map中对应路数的值来选择该路容器使用的GPU、CPU以及数据卷存放路径。使用kbox_config.cfg配置文件可以灵活配置云手机使用的资源,使性能达到最优。
Kbox云手机容器支持根据客户需求,定制系统属性,覆盖系统属性。如需使用定制属性,需要在启动路径下生成“local.prop”文件,文件内记录定制的系统属性,容器启动后的初始化过程会读取该文件内的属性并覆盖写入。修改方法请参见《Kbox云手机容器 例行维护》文档的“支持Android系统属性可定制”章节。
- 解压Kbox-AOSP11.zip,将Kbox-AOSP11文件夹中的deploy_scripts目录上传至服务器的“~/dependency”目录。
- (可选)使能硬件解码(以下简称“硬解”)时,需要设置“deploy_scripts”目录下的kbox_config.cfg文件,将“ENABLE_HARD_DECODE”设置为“1”。
若启动时为软件解码(以下简称“软解”)方式,即设置ENABLE_HARD_DECODE=0,重启时能切换为硬解方式,即设置ENABLE_HARD_DECODE=1。
- 通过android11_kbox.sh脚本启动容器。
1 2 3
cd ~/dependency/deploy_scripts chmod +x android11_kbox.sh ./android11_kbox.sh start {镜像名称:tag} ${index1} ${index2}
Kbox基础云手机的默认配置信息如表1所示。
启动脚本使用示例:
- 启动一个编号为1的实例。
1
./android11_kbox.sh start kbox:origin 1
- 启动编号为1~5的五个实例。
1
./android11_kbox.sh start kbox:origin 1 5
- 启动一个编号为1的实例。
- 执行如下命令确认Kbox容器是否启动成功,其中“${index}”为启动实例的编号。
1
docker exec -it kbox_${index} getprop | grep boot_completed
若回显信息中的sys.boot_completed显示为“1”,则启动成功。
- 停止并删除Kbox容器的方法。
由于Kbox方案默认挂载数据卷,默认的docker stop、docker rm命令不能彻底清理容器数据,需要使用脚本彻底清理主机侧文件。
使用android11_kbox.sh脚本,停止并删除正在运行的Kbox容器。
- 停止并删除编号为${index}的容器。
1
./android11_kbox.sh delete ${index}
- 停止并删除编号为${index1}~${index2}的所有容器。
1
./android11_kbox.sh delete ${index1} ${index2}
- 停止并删除编号为${index}的容器。
- 重启Kbox容器的方法。
由于Kbox方案默认挂载数据卷,在重启容器时,无法使用默认的docker restart命令进行重启,需要使用脚本执行容器的重启操作。
使用android11_kbox.sh脚本重启Kbox容器。
- 重启编号为${index}的容器。
1
./android11_kbox.sh restart ${index}
- 重启编号为${index1}~${index2}的所有容器。
1
./android11_kbox.sh restart ${index1} ${index2}
- 重启编号为${index}的容器。