
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
解释器可以嵌入——静态链接 + dlopen + 平铺扩展,Python 生态完整可用;协议可以直连——不依赖外部二进制,一百三十行 socket 实现 HDC 客户端;系统机制要实测——挂载隔离、linker 死锁、hilog 丢弃,文档里没有的坑只能真机踩出来;T1 不是退让——原生宿主 + 集成运行时的形态,可以让重生态应用在鸿蒙 PC 上活得体面。如果它在你的测试工作流里省下过一次"人肉点

HarmonyOS 的 profile 与bundleName绑定。同系列鸿蒙 PC 移植工程有过一条很典型的教训:把 AppGallery 的 release profile 直接拿去,会报——release 包只能走应用市场通道,本地真机验证要换与包名匹配的 debug 材料。另一个常见变体是受限 ACL 权限没写进 profile,安装时报9568289。对上架型项目,这两条应写进提包前的自

HarmonyOS 的 profile 与bundleName绑定。同系列鸿蒙 PC 移植工程有过一条很典型的教训:把 AppGallery 的 release profile 直接拿去,会报——release 包只能走应用市场通道,本地真机验证要换与包名匹配的 debug 材料。另一个常见变体是受限 ACL 权限没写进 profile,安装时报9568289。对上架型项目,这两条应写进提包前的自

鸿蒙链接器命名空间禁止从沙箱路径dlopen,于是 CPython 扩展不能放在里按常规查找,而是全部平铺进 HAP 的libs/arm64。自动生成# 由 build_runtime.py 生成,写进 site-packages/sitecustomize.pytry:pass# ……按 libs 目录实际文件名自动生成很关键:扩展模块里的Py*符号要能解析到全局那一份,否则会出现「能 dlop

鸿蒙链接器命名空间禁止从沙箱路径dlopen,于是 CPython 扩展不能放在里按常规查找,而是全部平铺进 HAP 的libs/arm64。自动生成# 由 build_runtime.py 生成,写进 site-packages/sitecustomize.pytry:pass# ……按 libs 目录实际文件名自动生成很关键:扩展模块里的Py*符号要能解析到全局那一份,否则会出现「能 dlop

鸿蒙 PC 生态刚起步时,桌面端最缺的不是计算器、不是时钟,而是生产力工具——尤其是写作类。长文档(几万字)下输入不能卡顿;所见即所得,而不是"左边写源码、右边看效果"的割裂体验;纯本地、纯文本、格式开放(Markdown),十年后文件还能打开。Zettlr 恰好是这个领域的标杆开源项目:CodeMirror 6 内核、纯 Web 技术栈构建、Electron 桌面发行。这意味着——它的编辑器核心

鸿蒙 PC 生态刚起步时,桌面端最缺的不是计算器、不是时钟,而是生产力工具——尤其是写作类。长文档(几万字)下输入不能卡顿;所见即所得,而不是"左边写源码、右边看效果"的割裂体验;纯本地、纯文本、格式开放(Markdown),十年后文件还能打开。Zettlr 恰好是这个领域的标杆开源项目:CodeMirror 6 内核、纯 Web 技术栈构建、Electron 桌面发行。这意味着——它的编辑器核心

Zettlr:从零趟底座,崩在 libelectron 版本、深色主题、preload 后缀,每个坑都是新知识;:克隆骨架,组装成本五处文件改动,新坑只剩 sandbox 白屏一类平台级问题;下一个 Electron 应用:大概只剩"判依赖死刑 → 塞产物 → 改 bundleName"三步。原生模块的死刑判决要看"耦合深度"。深耦合如 Zettlr 的 nodehun 只能抽引擎绕行;边界耦合如

先问"重写还是移植",再动手。两者工作量可能相近,但产出的性质完全不同:移植产出的是"Flameshot 本体在鸿蒙上",重写产出的是"另一个长得像它的应用"。版本不匹配时,复原环境而不是修改代码。下载官方 Qt 5.12.12 头文件花十分钟,换回的是"上游代码零改动"的完整承诺。moc 扫描要显式排除平台门控文件。条件编译和"无差别目录扫描"是天敌,链接器不报错不代表没问题,真机 dlopen

鸿蒙 PC 起步阶段,桌面应用生态里最缺的就是"生产力刚需":办公套件有了,IDE 有了,但一款像样的 Markdown 学术写作工具一直空缺。Zettlr 是这个领域的明星开源项目——面向学术写作、采用 Zettelkasten 卡片盒笔记法、支持引用管理和多格式导出,由德国开发者 Hendrik Erz 维护,技术栈是 Electron + Vue 3 + TypeScript + CodeM








