开源移植实战:把 solidcraft v0.25.1 移植到鸿蒙 PC —— 轻星建模 适配全记录

发布时间:2026/11/2 6:45:13

开源移植实战:把 solidcraft v0.25.1 移植到鸿蒙 PC —— 轻星建模 适配全记录 欢迎加入开源鸿蒙 PC 社区https://harmonypc.csdn.net/欢迎在 PC 社区平台申请新建项目https://atomgit.com/OpenHarmonyPCDeveloper适配开源地址https://gitcode.com/OpenHarmonyPCDeveloper/ohos_solidcraft一、为什么要适配 轻星建模「轻星建模」的定位是参数化三维建模工具草图/特征时间线/装配/钣金/STEP平板与 2in1 优先首启内置样例件。选择 solidcraft v0.25.1 做鸿蒙 PC 适配看中的是它在同类桌面工具中的位置上游社区活跃、功能覆盖完整、许可合规路径清晰。对 HarmonyOS PC 生态而言这类桌面级工具正是应用矩阵里最稀缺的一块。solidcraft v0.25.1 以 Rust/egui 构建经 winit 取窗口与事件、wgpu 渲染默认目标仍是桌面会话——这些假设在鸿蒙上都不成立。把它带过来等于回答一组结构性的问题如何在没有传统显示服务器、没有窗口管理器参与窗口治理的系统上渲染并接收输入文件、剪贴板、输入法如何对接以及 MIT OR Apache-2.0 许可义务如何合规履行。当前适配的发布形态「轻星建模」已送审华为应用市场在审开源仓与本篇对应https://gitcode.com/OpenHarmonyPCDeveloper/ohos_solidcraft。收录上游版本 0.25.1。二、先划清边界不是编译通过而是换掉平台依赖如果只以消除编译报错为目标把源码编出动态库也得不到可用的应用。本项目的验收口径是真机上可安装、可启动、可完成核心工作闭环。上游实现与鸿蒙侧方案的对应关系如下层次上游实现鸿蒙侧方案窗口与 GLwinit wgpuGL/Vulkan/Metaleframe-ohos 适配层OHNativeWindow GLES事件winit 事件循环XComponent 回调 → winit 事件注入字体系统字体枚举bundled 字体随包IMEwinit IME会话层桥ArkTS 承载键盘commit 回注 egui三、鸿蒙版的整体架构craft 家族共享 eframe-ohos 适配层eframe 的 winit/wgpu 依赖被替换为 OHOS 实现——窗口表面来自 XComponent事件经 NAPI 注入 winit 事件循环wgpu 走 GLES 后端。应用源码Rust零改动仅以 vendored 依赖映射替换目标侧实现。菜单与文档字符串由引擎注册表生成器转录为 ArkTS 资源顶栏用 ArkTS 原生覆盖层实现对上游零 patch。仓库收录 3251 个上游源码文件约 97.1 MiB与移植层配套全仓 6992 个文件。结构如下仓库结构上游源码树整树收录在仓库根目录 ├── 上游源码树 → 仓库根目录solidcraft ├── port-*/ # 平台配套app、build.sh、patches、tools、vendor ├── README-upstream.md # 上游原始 README 存档 └── README.md # 中文仓库说明四、核心适配过程eframe-ohoswinit 事件循环与 wgpu 表面适配vendored 依赖直写映射审核机闪退根修vendored egui-wgpu 的后端映射直写surface 重建先销旧菜单转录MenuDefs 由注册表生成器导出ArkTS 顶栏渲染系统 Menu 级联 三键避让交叉构建cargo OHOS NDK clangaarch64-unknown-linux-ohos产物 cdylib 随包。工程推进中的关键节点摘自工程台账轻星建模是轻星系又一新增壳。2026-10-30 名单补行本机工程树DevEcoStudioProjects 全量 AppScope bundleName 现扫存在 StarModel 目录、bundleNamecom.starmodel.app 相符但名单 173 行内无此行AGC 只读回读确认已建档appId 6917620319017779306设备槽 平板2in1。Connect API 无账号级应用列表端点本轮 AGC 控制台未登录扫码态失效故未能像 10-27 那样抓全量 APP ID 列表比对漏项以「本地工程 bundleName 现扫工作区文档包名全扫」双通道补齐com.airkrita/airremmina/airrustdesk/airsmart/airvlc/airwork 六个文档包名经 appid-list 回读均未建档。上游目录现状/私有壳仓标待核本机无 Upstreams/tangency 目录PORTING.md 记工程实体在鸿蒙 PC。五、适配中的难点与对策难点一surface 生命周期重建必须先销旧否则 GPU 状态残留触发断言或黑屏。难点二IMEegui 假定 winit IME 通道OHOS 上经会话层桥回注。难点三musl 链接aarch64-unknown-linux-ohos 目标 64K 页对齐 关 strip。六、编译、安装与启动环境前置DevEco Studiohvigorw 与 OHOS SDK、meson ninja、python3交叉工具链路径见仓库port-*/scripts/env.sh。预编译依赖随仓库分发日常打包只需要hvigorw assembleApp --no-daemon安装与启动hdc install -r entry/build/default/outputs/default/*-signed.hap hdc shell aa start -b com.starmodel.app -a EntryAbility七、功能边界与合规能力边界如实说明已验证的是可安装、可启动、核心工作流可用依赖独立进程或平台缺口的能力如部分插件体系不在当前形态内后续以仓库记录为准逐项推进不提前宣称完成。合规方面solidcraft v0.25.1 采用 MIT OR Apache-2.0本仓库对源码的全部修改在同协议下公开预编译产物与源码同仓分发以满足对应源码义务再分发产物时必须一并提供完整源码。上游项目名与商标归其所有方本适配为独立衍生作品不代表上游官方背书。签名私钥与含密钥配置一律不入库。八、总结这套适配的价值不在于能跑一个演示程序而在于把 solidcraft v0.25.1 这样体量的 Rust/egui 应用整体搬到鸿蒙 PC 的路径走通平台依赖收敛到可替换的后端窗口治理与输入法在壳层补齐许可义务随仓库履行。最终产物是能在 HarmonyOS PC、平板乃至手机上安装使用的完整应用「轻星建模」。欢迎在开源鸿蒙 PC 社区https://harmonypc.csdn.net/交流移植经验仓库地址https://gitcode.com/OpenHarmonyPCDeveloper/ohos_solidcraft
延伸阅读

更多相关文章

2026/11/2 6:45:13

Android HTTPS 抓包调试:证书注入与 Frida 校验绕过

简介:面向移动端安全研究、小程序逆向分析与代理抓包调试的学习者,这份资料围绕支付宝小程序 SSL 校验拦截与 Frida 注入思路展开,适合已具备一定抓包工具和 JavaScript/Python 基础、希望理解证书校验绕过机制的中高级读者。压缩包共 3 个文…

2026/11/2 6:40:12

场景对决|开题、初稿、定稿,AI 论文写作软件到底差在哪?

如果你正在写本科或研究生毕业论文,大概率会经历同一个循环:对着空白文档发呆 → 疯狂找资料 → 初稿东拼西凑 → 提交前被重复率和 AIGC 率按在地上摩擦 😵。 这篇文章不做“全网第一”的榜单,只按毕业论文真实推进的 3 个关键场…

2026/11/2 7:45:16

旋转体体积计算:原理、公式与工程应用

1. 旋转体体积计算的基本概念 在工程设计和数学分析中,旋转体体积计算是一个常见而重要的问题。想象一下,当我们把一个平面图形绕着某条直线旋转一周时,就会形成一个三维物体,这就是旋转体。比如,一个直角三角形绕着直…

2026/11/2 7:45:16

AI时代产品经理的转型与功能设计黄金法则

1. AI时代产品经理的角色转变在传统互联网时代,产品经理需要具备市场分析、需求挖掘、原型设计、项目管理等全方位能力。但随着AI技术的爆发式发展,特别是大模型能力的快速迭代,产品经理的工作方式正在发生根本性变革。我最近使用Notion AI辅…

2026/11/2 7:45:16

RK3588部署YOLOv5s:环境搭建与ONNX导出避坑指南

1. 为什么环境搭建这一步值得单独拿出来讲很多人拿到 RK3588 开发板之后,第一反应是直接找现成的 RKNN 模型跑起来看效果。这个思路没错,但实际走一遍就会发现,真正卡住进度的往往不是模型转换本身,而是环境搭建阶段的各种琐碎问题…

2026/11/2 7:45:16

IMX678 datasheet解读:4K60图像传感器选型与暗光成像要点

简介:IMX678 CMOS图像传感器的datasheet文档,面向从事摄像头模组选型、驱动开发与图像质量调试的硬件工程师及嵌入式开发者,可用于查证器件规格、评估方案落地可行性。包内仅有1个PDF文件,约592KB,为IMX678-AAQR1完整规…

2026/11/2 7:45:16

RK3588部署YOLOv5s:环境搭建与ONNX导出全流程

1. 为什么环境搭建这一步值得单独拿出来讲很多人拿到 RK3588 开发板之后,第一反应是直接找现成的镜像烧进去跑 demo,能出画面就觉得大功告成。但真到要把 YOLOv5s 这种自定义模型塞进去跑的时候,问题就全冒出来了:PyTorch 版本对不…

2026/11/2 7:40:16

GraphQL渗透测试:Schema还原技术与安全实践

1. GraphQL渗透测试的核心价值与挑战GraphQL作为现代API设计的革命性技术,正在快速改变Web服务的数据交互方式。与传统RESTful API相比,GraphQL允许客户端精确指定需要的数据字段,这种灵活性在带来开发效率提升的同时,也引入了全新…

2026/11/2 6:08:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/2 6:39:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

工业级SPI隔离设计:硬件抗扰与信号完整性实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

PLFM_RADAR:主动探测数据通道,构建低误报的数据感知系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 1:04:04

工业SPI隔离设计:MAX14431与STM32F746硬件抗干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/2 6:08:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/2 6:39:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑