仓颉程序跑不通OpenHarmony?先看这一步:运行时库手动部署原理与push-libs.bat完整教程

发布时间:2026/9/24 23:17:32

仓颉程序跑不通OpenHarmony?先看这一步:运行时库手动部署原理与push-libs.bat完整教程 仓颉程序跑不通OpenHarmony先看这一步运行时库手动部署原理与push-libs.bat完整教程【免费下载链接】OpenHarmony在 OpenHarmony 开发板上运行仓颉程序项目地址: https://gitcode.com/Cangjie/OpenHarmony在 OpenHarmony 开发板上运行仓颉程序时最常见的翻车原因就是仓颉运行时库Cangjie Runtime Libraries没有部署到开发板。这篇教程讲清楚运行时库手动部署的原理并带你用 push-libs.bat 脚本三步完成部署让仓颉程序在开发板上顺利跑起来。为什么仓颉程序跑不通缺的是运行时库仓颉是一门相对较新的编程语言它的可执行文件就像只装了业务逻辑的壳——运行时需要一整套libcangjie-*.so动态库运行时、标准库、加密、网络等支撑。关键点在于当前 OpenHarmony 系统镜像中还没有内置仓颉运行时。也就是说你编译出的仓颉 ARM64 可执行文件本身没有问题但直接推送到开发板运行系统找不到libcangjie-runtime.so等依赖库程序自然跑不起来。所以在编译和运行任何仓颉程序之前第一步永远是把仓颉 ARM 运行时库手动推送到开发板的/system/lib64目录。这就是本教程要解决的核心问题。环境准备确认这 3 件事在动手之前先确认本地环境满足以下三个条件✅DevEco Studio 仓颉插件这套工具链提供支持交叉编译的仓颉编译器cjc编译到 ARM64 目标平台✅开发板已连通在电脑终端执行hdc shell能进入开发板系统环境✅hdc 可用如果没有单独安装 hdc 套件可以直接引用 DevEco 自带的Windows 上一般位于C:\Program Files\Huawei\DevEco Studio\sdk\default\openharmony\toolchains目录把它配置到Path环境变量中即可。在 DevEco Studio 底部的终端中执行cjc -v能看到编译器版本信息说明工具链就绪push-libs.bat 完整教程3 步部署仓颉运行时库部署工作被封装在项目根目录的 push-libs.bat 脚本中它的逻辑其实只有三步第 1 步把开发板根分区重新挂载为可写hdc shell mount -o rw,remount /开发板的/system 分区默认是只读的不先重新挂载后面的文件推送会直接失败。第 2 步输入仓颉 ARM 运行时库路径运行脚本后会提示你输入运行时库的完整路径Path of Cangjie Runtime:按默认配置DevEco 的仓颉开发环境中运行时库一般存放在用户目录下的~/.cangjie-sdk/5.0/cangjie/compiler/runtime/lib/linux_ohos_aarch64_llvm 提示路径末尾不要漏掉linux_ohos_aarch64_llvm这一段它是 OpenHarmony ARM64 平台专属的库目录。第 3 步批量推送动态库到 /system/lib64脚本用循环遍历该目录下的所有文件逐个执行hdc file send推送到开发板的/system/lib64路径for %%F in (%target%\*) do ( hdc file send %%~fF /system/lib64 )执行完毕后几十上百个libcangjie-*.so文件runtime、std、crypto、net 等就全部就位了。验证部署/system/lib64 里能看到 cangjie 库推送完成后可以在开发板上执行ls /system/lib64 | grep cangjie检查看到libcangjie-runtime.so、libcangjie-std-core.so等文件说明运行时库部署成功 ✅编译并运行仓颉程序运行时库就位后整个流程就顺了交叉编译启动 DevEco Studio借用仓颉工程的底部命令行窗口该环境中的cjc支持交叉编译。项目把复杂的交叉编译参数封装在 cjc-arm64.bat 中需按你的系统修改其中的HOME变量之后就可以把它当作普通的cjc命令使用推送并运行执行 test/test.bat 脚本输入可执行文件名它会自动把文件推送到/system/bin、添加可执行权限、运行并在执行后删除一条命令完成整个测试。仓库中还附带了示例仓颉代码test/forin.cj输出农历各月干支和 test/chat.cj调用大模型对话都可以拿来验证你的部署是否成功。常见问题 FAQQ推送时报错、文件没有成功传到开发板先确认第 1 步的mount -o rw,remount /是否执行成功只读分区上所有写操作都会被拒绝。Q部署一次就够了吗重启还要再推吗运行时库写入的是 system 分区重新挂载后写入是持久的开发板重启无需重新推送只有重新烧录系统镜像后才需要再部署一次。Q运行时库版本怎么选保持与cjc编译器版本配套即可同属.cangjie-sdk目录下的同一版本避免混用不同 SDK 的库文件。相关文件文件说明README.md项目完整说明push-libs.bat运行时库部署脚本本文主角cjc-arm64.batARM64 交叉编译封装脚本test/test.bat推送、运行、清理一条龙测试脚本test/forin.cj / test/chat.cj示例仓颉程序按照部署运行时库 → 交叉编译 → 推送运行这个顺序走下来仓颉程序跑不通 OpenHarmony 的问题基本都能迎刃而解。【免费下载链接】OpenHarmony在 OpenHarmony 开发板上运行仓颉程序项目地址: https://gitcode.com/Cangjie/OpenHarmony创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/24 23:17:32

异常断电硬盘“猝死”?Victoria坏道检测与修复实战

异常断电,硬盘真的会猝死吗?Victoria坏道检测与修复实战这话我平时不爱说,但每次有朋友慌慌张张跑来问“硬盘咔咔响是不是废了”的时候,我心里都挺无奈的。异常断电导致硬盘出问题,太常见了,尤其是在老小区…

2026/9/24 23:12:32

Tableau LOD函数详解:FIXED/INCLUDE/EXCLUDE实战

在Tableau里做了好几年数据分析,我遇到的第一个真正让人头疼的问题,不是图表不好看,而是“明明想算每个客户的总消费,但拖出来的数字总感觉不对”。换成区域维度,指标变了;换成订单维度,数字又变…

2026/9/24 23:12:32

从AI获客工具到Web AI交互层:开源AI助手的重写实践

我们最早那个版本,其实算不上一个真正的 AI 助手。它是一个挺标准的 AI 获客工具——输入产品介绍,自动生成客户画像、销售话术、批量打招呼内容。上线第一周数据不错,注册量涨得很快,但第二周我就开始慌:用户的会话时…

2026/9/25 0:02:35

深度学习新闻分类推荐系统:从TextCNN到个性化推荐

简介:这份基于深度学习的新闻分类推荐系统Python实现源码,是专为课程设计与期末大作业准备的高分项目,下载后无需修改即可运行,适用于需要快速交付完整课题的高校学生。系统涵盖新闻数据预处理、文本分类模型训练、推荐逻辑展示等…

2026/9/25 0:02:35

汽车电子底层软件开发:AUTOSAR与CAN总线实战解析

1. 这门“汽车电子底层软件开发就业课”到底在教什么?——不是写个LED闪烁就能上岗的很多人看到“汽车电子底层软件开发就业课”这个标题,第一反应是:不就是嵌入式C语言单片机CAN通信?刷几道LeetCode、调通一个STM32 CAN收发例程&…

2026/9/25 0:02:35

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:02:35

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:02:35

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/24 23:57:34

Java Web代驾系统源码设计与实践:从订单闭环到并发计费

代驾系统源码这五个字,在各大代码仓库和资源站上一搜能出来几百个结果,但真正把订单从呼叫跑到支付闭环的项目屈指可数。我自己这两年用Java Web技术栈做过、也帮人改过几版代驾管理系统,最深的感受是:代驾系统这个题目&#xff0…

2026/9/24 20:24:47

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/23 12:06:55

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/25 0:02:35

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:02:35

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:02:35

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/22 16:34:32

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/22 20:01:30

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/22 13:25:41

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

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

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

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