DSH‑Go 修复|解决鸿蒙+卓易通环境引擎启动异常
·
DSH‑Go 修复|解决鸿蒙+卓易通环境引擎启动异常
1 项目简介
本项目为修复构建版本,基于上游 DSH‑Go v1.0.16,专门解决 HarmonyOS 设备运行卓易通(DroiTong)容器环境下本地引擎启动失败问题。
GitHub项目地址: https://github.com/QQZping/dsh-go-huawei-droitong
修复问题清单
在鸿蒙系统的卓易通容器中,原版 DSH‑Go 本地引擎会出现以下故障:
- PRoot 初始化启动失败,引擎无法正常拉起;
getcwd系统调用返回异常,工作目录获取出错;clone3线程创建系统调用报错,进程线程创建逻辑异常。
本构建针对性修复上述三点,让 DSH‑Go 的本地引擎可以正常在 HarmonyOS + DroiTong 组合环境运行。
⚠️ 重要声明:
- 这不是官方版本,属于社区非官方补丁构建;
- 仅针对鸿蒙卓易通容器场景做适配,其他Android设备可酌情测试;
2 下载方式
- 打开项目GitHub主页:https://github.com/QQZping/dsh-go-huawei-droitong
- 找到
Releases,打开最新版本; - 在Assets列表下载对应APK,同时附带SHA256SUMS校验文件,建议校验文件完整性,防止下载损坏;
- source.zip为构建源码包,RELEASE‑NOTES.md为版本更新日志。
下载直达:Releases页面
3 环境说明
- 基础上游版本:DSH‑Go v1.0.16
- 目标运行环境:HarmonyOS,卓易通(DroiTong)容器
- 架构:arm64
- 产物:Android APK安装包
4 简单分析
卓易通容器基于容器沙盒机制运行Linux环境,鸿蒙内核对部分Linux系统调用行为和原版Android存在差异:
- PRoot依赖底层系统调用实现chroot沙盒,容器环境下部分调用行为发生变化,导致初始化直接卡住失败;
- 容器内路径隔离机制,造成
getcwd获取当前工作目录返回异常值; - 新版
clone3系统调用在容器沙盒下权限/参数校验严格,原版逻辑直接调用会创建线程失败。
本修复版本针对以上三点做兼容调整,不改动上游主体业务逻辑。
后续更新版本会直接在该仓库新建Release,不会新建仓库,大家可以点Star不迷路哦>_<。
5 >_<
主要为解决鸿蒙设备使用卓易通容器时DSH‑Go无法启动本地引擎痛点。
欢迎测试反馈bug,也欢迎感兴趣同学Fork进行二次修改构建。
更多推荐



所有评论(0)